概述
前几天处理数据的时候,写完了循环,有个别图像会蹦出来,原因是他不符合通道数的要求。
其实程序是为处理彩色图像设计的,输入了一张单通道的灰度图,循环就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数字图像处理】 用numel函数判断图像是灰度图还是 RGB所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复