【发布时间】:2016-09-15 02:33:31
【问题描述】:
我想知道是否有任何方法可以在 MATLAB 中恢复图像的原始颜色? color.bmp 是彩色图像,经过分割和将几个像素设置为 0 等操作只是为了从我的图像中删除它们,我想用原始图像“着色”其余的图形颜色。我确实知道原始图像中的原始 RGB 值。原始图片看起来像图片2。然后我只留下黄色字母
i = imread('zestaw3_12.bmp');
o1 = im2double(i);
% obliczanie kolorów
r = 224/255;
g = 220/255;
b = 51/255;
t = 0.1;
sr = o1(:,:,1) < r + t & o1(:,:,1) > r - t;
sg = o1(:,:,2) < g + t & o1(:,:,2) > g - t;
sb = o1(:,:,3) < b + t & o1(:,:,3) > b - t;
segm = sr & sg & sb;
se2 = [0 1 0 ; 1 1 1 ; 0 1 0];
segm2 =imopen(segm,se2);
segm3 = imclose(segm2,se2);
在这里我删除了触摸框架字母并使用 regionprops 功能删除了我不想再看到的字母,这就是结果1。我得到的只是 im_ok 合乎逻辑的,如图片1 所示。最后我想把那些 F、D 和 E 字母涂成黄色,就像原来的图片一样。
【问题讨论】: