前几天处理数据的时候,写完了循环,有个别图像会蹦出来,原因是他不符合通道数的要求。
其实程序是为处理彩色图像设计的,输入了一张单通道的灰度图,循环就break了。
需要在输入之前,加一个判断,查看图像的通道数。
之前是拿来主义,不懂为什么这样写,现在懂了,写一个笔记。
复制代码
1
2
3
4
5
6
7
8clear;close all;clc; I = imread('color.jpg'); img_size = size(I) % 想记录的其实就这两行:先要确定图像的size,才能用numel函数查看该图像的通道数 num = numel(size(I)) % num 值为 3
复制代码
1
2
3
4
5
6
7
8
9%% 判断图像的通道数,如果是RGB三通道的,转为灰度图保存回去 I = imread('color.jpg'); num = size(Img); if numel(num)>2 gray = rgb2gray(I); else gray = I; end
最后
以上就是凶狠手链最近收集整理的关于【matlab数字图像处理】 用numel函数判断图像是灰度图还是 RGB的全部内容,更多相关【matlab数字图像处理】内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复