weixin_43739566
利维亚的打桩机
2021-06-01 12:38
采纳率: 50%
浏览 66

MATLAB图像处理怎么将彩色图片慢慢转化成黑白图片?

MATLAB初学者,需要做出那种为纪念英雄人物,播放彩色图片,然后慢慢变到灰色的效果。想法是做成gif,但是中间那由彩色变成黑白的渐变过程不知道怎么进行图像的运算。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qq_34124780
    爱晚乏客游 2021-06-01 13:05
    已采纳

    我讲个思路你可以自己实现下。首先确定下彩色转灰度图的结果,看下结果是否满意,或者结果灰度图不满意的要先处理下,得到最终的灰度图。

    第二步就是实现渐变。如果你将一张灰度图保存下来看下,你就会发现这张图片RGB三个通道的灰阶是一样的。也就是说,你将一张彩色的图片的RGB三个通道调整一样的结果的话,那么虽然还是三通道的,但是效果就是一张灰度图。那么现在要做的就是将原来的图片RGB三个通道的每个像素值转成第一步中的灰度值。举了例子来说,比如【0,0】这个像素位置的RGB是【120,80,144】,那么你处理过后的灰阶值是90,你计划用10帧图片达成gif,那你就是120-->90,80-->90,144-->90,中间每个通道的渐变灰阶值就是(90-120)/10=-3,+1,-5.4,保存每一帧,matlab不知道有没有函数可以直接做成gif,最后的效果就是渐变的,当然这个是三个通道一致的线性渐变,实际上为了颜色均衡,RGB三个通道不是渐变的,而是有一个系数的,你需要自己去换算下系数,

    最常见的Gray = R*0.299 + G*0.587 + B*0.114

    点赞 1 评论

相关推荐