graduate_please 2022-05-04 22:12 采纳率: 66.7%
浏览 111
已结题

怎样根据灰度阈值的不同给不同区域上不同的颜色?

各位朋友,我看到其他朋友提的这个问题,对我现在的困惑帮助有非常非常大的帮助,但是我一直没找到这个算法,请大家帮助我一下!

img

img

  • 写回答

3条回答 默认 最新

  • slandarer MATLAB领域优质创作者 2022-05-04 23:12
    关注

    要精确控制可以这样:
    截的图试了试,第一档没用50做阈值而是用的150:效果这样

    img


    截的图:

    img

    代码

    % demo gray2rgb
    
    pic=imread('test.jpg');
    if size(pic,3)>1
        pic=rgb2gray(pic);
    end
    
    newPicR=zeros(size(pic));
    newPicG=zeros(size(pic));
    newPicB=zeros(size(pic));
    %
    newPicB(pic<=150)=255;
    %
    newPicR(pic>150&pic<=240)=255;
    newPicG(pic>150&pic<=240)=255;
    %
    newPicR(pic>240)=255;
    %
    newPic(:,:,1)=newPicR;
    newPic(:,:,2)=newPicG;
    newPic(:,:,3)=newPicB;
    imshow(uint8(newPic))
    
    

    当然要想要渐变且区分度明显的,建议自己构造渐变colormap

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 创建了问题 5月4日