Rea*_*ion 6 rgb matlab grayscale
我正在编写一个可以拍摄图像并执行特定平滑任务的函数.在我的功能的最开始,我使用了将图像转换为灰度图像pic = rgb2gray(pic);
我希望允许该功能拍摄任何图像(即使它已经是灰度).在Matlab中,如果我传递一个灰度图像,它当前会出错,因为它无法转换它(很明显).
是否有内置功能或简单的方法来测试图像并确定其颜色格式?
我在google上阅读了有关isRGB和isGrayscale函数的内容,但它们已从更高版本的Matlab中删除...
如果它具有内置功能,我认为这样的东西会很酷.
     if (pic == RGB)
         do
          .
          .
          .
     elseif (pic == GrayScale)
         do
          .
          .
          .
     else 
         do
          .
          .
          .
如果没有,也许我可以编写一个函数来获取pixel x,y并测试其值?
if (p(x,y) == ....或者其他的东西?我不确定......想法?
Mil*_*ilo 12
彩色图像有3个通道(R,G,B),因此:
size(pic, 3) = 3
对于灰度:
size(pic, 3) = 1
与@Milo建议的类似,但具有不同的功能.用途ndims:
ndims(pic)
返回图像中的尺寸数pic.数组中的维数始终大于或等于2,并且在RGB图像中它将是>2.尾随单身尺寸被忽略(单身尺寸是任何尺寸size(A,dim) = 1.)
| 归档时间: | 
 | 
| 查看次数: | 11310 次 | 
| 最近记录: |