发布网友 发布时间:2022-05-13 21:27
共3个回答
热心网友 时间:2023-10-29 23:50
这段代码貌似是要将图像从RGB空间转到HSI空间,然后提取S和I分别做滤波,滤波之后再讲H/S/I三个分量整合到newImg中。但是由于imshow()函数对应的是rgb三分量来显示图像的,此时 的newImg(或者img_hsi)是属于HSI空间的,所以不能直接使用imshow输出符合视觉感受的颜色。至于为什么显示为红色,你可以打开matlab看看workspace里面的H维(对应R分量)是不是比S和I要大很多,所以图像偏红了。要显示正常颜色的话,还得先将HSI转回到RGB再送显热心网友 时间:2023-10-29 23:50
{热心网友 时间:2023-10-29 23:51
rgb2hsi这个函数没有定义。。。不是像abs()一样是matlab自带的函数。。。rgb2hsi这个需要自己定义function的。。。我不知道你要实现什么东西。。。你还是自己再看看吧。。。