matlab - Matlab将rgb并排添加到二进制图像
问题描述
我应该在我的阈值图像旁边添加另一个图像,其原始颜色如下:预期图像
但我不确定如何在 matlab 上仅实现二进制图像阈值。如何并排显示图像?
clear all;
close all;
clc;
% read image
palm = imread('palmDown (2).jpg');
%split into RGB
redPalm = palm(:,:,1);
greenPalm = palm(:,:,2);
bluePalm = palm(:,:,3);
redLevel = -0.1;
greenLevel = -0.1;
blueLevel = 0.06;
redThresh = imbinarize(redPalm, redLevel);
greenThresh = imbinarize(greenPalm, greenLevel);
blueThresh = imbinarize(bluePalm, blueLevel);
colorSum = (redThresh&greenThresh&blueThresh);
colorSum2 = imcomplement(colorSum);
thumbFilled = imfill(colorSum2, 'holes');
figure;
imshow(thumbFilled); title('Sum of all');
解决方案
有很多方法可以对阈值图像进行着色。一种简单的方法是乘法:
palm = im2double(palm); % it’s easier to work with doubles in MATLAB
palm2 = palm * thumbFilled;
imshow([palm, palm2])
乘法使用隐式单例展开。如果您有旧版本的 MATLAB,它将无法工作,您必须使用它bsxfun
。
推荐阅读
- java - 如何使用 AsyncTask 从 SharePreference 中解析 URL,无法从 SharePreference 中执行 URL
- python - 计算主题标签的功能
- c - 使用 gcc 创建一个固定大小的部分并在其中放置值
- identityserver4 - 如何在 WebAPI 启动中使用 AddIdentityServerAuthentication 自定义访问令牌生命周期验证器
- r - 如何将条件列拆分为因子级别以执行 2x2 ANOVA
- math - 在具有原点的点上应用旋转矩阵失败
- jquery - jQuery - IF 目标元素的 id 就像(匹配) - 递归错误太多
- reactjs - 如何在 React 中动态创建 Hook?
- asp.net - ajax 调用后会话超时时重定向到登录
- matlab - 如何在Matlab中绘制加权凸包