現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
0 投票
I have an error in the code below in writing an image please help
imwrite((gsq, []),strtemp)
Expression or statement is incorrect--possibly unbalanced (, {, or [
I have posted question regarding this and have got answer,but still getting same error
採用された回答
Image Analyst
2011 年 12 月 10 日
Why do you have the () and [] in there? You're supposed to be passing a numerical array and a string that is the filename. Did you look up the help for imwrite?
8 件のコメント
Pat
2011 年 12 月 10 日
if i am not using [ ] ,the image is black in colour,if i use i get the image,i could not find any in imwrite
Walter Roberson
2011 年 12 月 10 日
Sounds like you are trying to use [] to do the equivalent of imagesc(), scaling the image. imwrite() does not support any such option. You have to scale the data before you write it.
Jan
2011 年 12 月 10 日
"(gsq, [])" is simply no valid expression in Matlab. What do you expect it to do?
Pat
2011 年 12 月 12 日
this is my code
clc
clear all
pathname ='D:\dataset1\' ;
dirlist = dir( [pathname '*.jpg'] );
pickind='jpg';
for m = 1:length(dirlist)
im = double((imread([pathname, dirlist(m).name])))/256;
im=rgb2gray(im);
[xg, yg] = gradients_xy(im, 5, false, [1 size(im,1) 1 size(im,2)]);
gsq = xg.^2 + yg.^2;
%imshow(gsq, []);
% figure, imshow(gsq, []),%title('org image')
strtemp=strcat('D:\shape\',int2str(m),'.',pickind);
imwrite((gsq ,[]),strtemp)
end
i get erro if i use "(gsq, [])" ,only if i use this code,i get the image,if i use gsq i get only white coloured image
i want to write this image to a folder please help
Walter Roberson
2011 年 12 月 12 日
Already answered when you asked it in http://www.mathworks.com/matlabcentral/answers/23562-how-to-introduce-delay
Key phrase in my response:
"Warning: there is no way to tell imwrite() that you want the image to be automatically scaled the way you would by using [] as an argument to imshow()."
I have posted scaling code several times, and there are file exchange contributions to do the scaling, such as http://www.mathworks.com/matlabcentral/fileexchange/7943-freezecolors-unfreezecolors
Pat
2011 年 12 月 12 日
walter can u tell why the image is black in colouw when using imshow(gsq),and i get image wen i use imwrite(gsq ,[])
I have resized the image but i get same black image ,please ezplain
Image Analyst
2011 年 12 月 12 日
You use [] when displaying a floating point image in imshow. That will scale it for display. Otherwise it expects the image to be in the range 0-1 and if you have values outside that it will clip them and only show you the pixels that ARE within the range 0-1, which may be very very few, if any, pixels. So, you basically see all black if you don't use [] with imshow and you're displaying a floating point image. Now, with your imwrite, it normally wants an integer image. Exactly what do you think you're doing when you do (gsq, [])? Why are you doing that instead of simply gsq? Why??? We've told you a few times now: use [] with imshow, NOT with imwrite. Please believe us. And why didn't you cast gsq into an integer, scaling it if necessary, like Walter suggested? Please please do that. At least give it a try. If you really need to save it as a floating point image for later use in MATLAB, then I recommend saving the variable in a .mat file using save() instead of using imwrite().
Pat
2011 年 12 月 12 日
Thanks a lot
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Image Type Conversion についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
