【发布时间】:2017-07-28 15:08:21
【问题描述】:
现在我正在研究关于插值的图像处理。所以我发明了关于图像的新插值算法。
我必须检查我的插值算法插值的图像的 SSIM 值。
现在我正在使用 ICY 工具(在 windows,GUI 环境下),但是由于 GUI 界面,这个工具很难检查大量图像。
所以我想使用 matlab ssim 函数检查图像 SSIM 值。
但我不是 matlab 语言专家,所以在处理将各种名称导入 ssim 函数时遇到了麻烦。
这就是我想做的:
- 我想用大量图像检查 ssim 值。
- 所以我打算使用 sprintf 函数来创建一个有价值的图像名称。
- 第三个我想把这个输入图片名称导入到ssim函数中。
这是我使用的代码。
for n= 1 : 10
str = sprintf('./x2/cutted/x2_fn%d_4p_3p_cutted.bmp',n);
str_ori = sprintf('ori_%d.bmp',n);
img_cutted=imread(str);
img_ori=(str_ori);
[ssimval,ssimmap]=ssim(str,str_ori);
end
当我使用这段代码时,错误被调用。
错误:str必须是uint8、uint16、int16、single、double的类型。 但你使用了 char 值。
收到这条消息后,写“uint8 str;”但仍然调用消息。
【问题讨论】:
-
你的意思是
ssim(img,img_ori)?你从哪里得到错误? -
是的!,ssim(omg,img_ori)
-
我认为工具箱提供的ssim函数不支持char值...通常ssim函数是这样使用的"ssim('filename','filename');"
-
kr.mathworks.com/help/images/ref/ssim.html这是ssim函数的帮助...有人请帮帮我..!
-
当然“错误”是翻译后的信息,因为我用的是matlab韩文版。但这就是错误消息所说的内容。
标签: matlab image-processing printf interpolation ssim