Matlab 将黑色像素转换为其他颜色
我有一个合乎逻辑的形象。我想把黑色像素转换成其他颜色 我可以将它们转换成黑绿色和蓝色,但我不知道如何将它们转换成其他颜色,如橙色、紫色、粉色 有没有办法做到这一点 我使用此代码将它们转换为蓝色Matlab 将黑色像素转换为其他颜色,matlab,image-processing,Matlab,Image Processing,我有一个合乎逻辑的形象。我想把黑色像素转换成其他颜色 我可以将它们转换成黑绿色和蓝色,但我不知道如何将它们转换成其他颜色,如橙色、紫色、粉色 有没有办法做到这一点 我使用此代码将它们转换为蓝色 RGB = zeros(3072, 4080, 1); RGB(:, :, 3) = 1-BW; imshow(RGB); 致意要获得非原色,您需要编辑多个颜色层的值-每个像素由红色、绿色和蓝色子像素组成(因此为RGB)。基本上,你需要找到强度的组合来组成你的颜色 如果要将颜色设置为亮黄色,则以下操
RGB = zeros(3072, 4080, 1);
RGB(:, :, 3) = 1-BW;
imshow(RGB);
致意要获得非原色,您需要编辑多个颜色层的值-每个像素由红色、绿色和蓝色子像素组成(因此为RGB)。基本上,你需要找到强度的组合来组成你的颜色 如果要将颜色设置为亮黄色,则以下操作应有效:
RGB(:, :, 3) = blue_intensity;
RGB(:, :, 2) = green_intensity;
因为光线中的黄色是由蓝色和绿色构成的。如果您希望一种颜色比另一种颜色更多,只需使一种强度值高于另一种
如果你发布的是你想要达到的目标,我可以发布一个更清晰的答案
而且我相信你的第一行应该是RGB=zero(307240803)代码>,制作一个3d矢量,3深,适合RGB图像您可能想要使用它根据特定的颜色映射将2D索引矩阵(索引图像)转换为RGB图像
将r
、g
和b
设为三个double值(范围[0..1]),表示要分配给BW
为false
的像素的新颜色,然后
RGB = ind2rgb( BW, [ r, g, b; 1 1 1] );
将所有黑色转换为[r,g,b]
,并将true
像素保留为白色
下面是一个例子:
BW = rand(10) < .5;
RGB = ind2rgb( BW, [100/255 10/255 50/255; 1 1 1]);
figure;
imshow( RGB );
BW=rand(10)<.5;
RGB=ind2rgb(BW[100/255 10/255 50/255;1]);
图形
imshow(RGB);
结果应该是(最大随机性BW
):
代码
BW = logical(round(rand(5,6))) %// random logical image as input for demo
color1 = [129 52 168]; %// random color to be superimposed on the black pixels
%// Create a 3D double array with zeros from BW replaced by color1 values
%// and ones by zeros
RGB1 = bsxfun(@times,double(~BW),permute(color1,[1 3 2]));
%// Replace the zeros created from the previous step to 255s, as they
%// denote ones in the input logical image
RGB = uint8(RGB1+(RGB1==0).*255); %// desired output RGB image in UINT8 format
imagesc(RGB),axis off %// display the RGB image for verification
输出(代码运行时)
希望这对你有用!让我知道。也许这个FEX代码会有帮助-。根据您在color brewer网页中选择的颜色,该函数将在MATLAB中给出表示。你所要做的就是用这些数字来表示单个像素。我想把黑色像素转换成我自己的颜色,即[RGB]=[12952168]I=imread('1.jpg');Ig=rgb2灰色(I);BW=im2bw(Ig,85/255);RGB=ind2rgb(uint8(BW)+1[100,10,50;1]);imshow(RGB)@西格拉r
g
和b
的值应在[0..1]
范围内加倍,而不是在[0..255]
范围内加倍!试试彩色地图[100/255 10/255 50/255;1]
BW =
1 0 1 1 0 1
0 0 1 0 0 1
0 1 1 1 1 0
0 0 1 1 1 1
0 1 0 0 0 0