image - 在 matlab 中逐像素检查图像的特定 RGB 值

标签 image matlab matrix pixel

我想从 MATLAB 中的文件夹中读取 RGB 图像(.jpg),扫描图像的每个像素并检查它是否具有特定颜色(例如,如果它是紫罗兰色:R 128,G 0 ,B 255)并计算有多少像素具有该特定颜色。

你有什么想法吗?

最佳答案

假设图像被加载到名为A的变量中:

 pixelMask =  A(:,:,1) == 128 & A(:,:,2) == 0 & A(:,:,3) == 255;
 count = nnz(pixelMask);

另一种方法是使用bxsfun和单例扩展:

 pixel = cat(3,128,0,255);
 S = all(bsxfun(@eq, A, pixel), 3);
 count = nnz(S);

关于image - 在 matlab 中逐像素检查图像的特定 RGB 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10913809/

相关文章:

javascript - 图像加载似乎减慢了 Javascript 的执行速度

c++ - Eigen 在矩阵加法中失去负号

javascript - 设置 three.js 对象的 matrixWorld 属性

r - 列中非零或特定数字的频率

javascript - 通过排队预加载图像?

javascript - 将没有缓存的相同图像加载到隐藏的 div 中

java - Swing 通过 ContentType 插入图像 ("text/html");

matlab - 在 matlab 中四舍五入为用户定义的数字

matlab - 视觉里程计中的图像校正

algorithm - 最小列总和差异是多少?