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