Python+OpenCV对灰度图像进行伪彩色处理

伪彩色处理:根据一定准则给灰度值赋予彩色值的处理。宏观来说就是将黑白图像转化为彩色图像,或者是将单色图像变换成给定彩色分布的图像。

博主在学习遥感图像处理时接触到NDVI图像的计算,对生成的灰度图像需要进行伪彩色处理以增强对比。代码如下:

(python+OpenCV)

import cv2

im_gray = cv2.imread("H:/gdal/rs-data/result/ndvi.jpg", cv2.IMREAD_GRAYSCALE)
im_color = cv2.applyColorMap(im_gray, cv2.COLORMAP_JET)
cv2.imwrite('H:/gdal/rs-data/result/ndvi_color.jpg',im_color)

注:需要将NDVI图像转化为jpg或类似格式,直接使用tif格式会报错,原因可能是因为float数值等问题,没有深入研究,欢迎大佬提出解决方法。

报错如下:

import cv2
img = cv2.imread('H:/gdal/rs-data/result/ndvi.tif',2)
im_gray = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
im_color = cv2.applyColorMap(im_gray, cv2.COLORMAP_JET)
cv2.imwrite('H:/gdal/rs-data/result/ndvi_color.tif',im_color)



Traceback (most recent call last):
  File "H:/gdal/RGB.py", line 6, in <module>
    im_gray = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
SystemError: <built-in function imread> returned NULL without setting an error

(网上搜索,发现可能是路径问题,但是并没有找到原因)

 

处理效果如下:

 

 

 

 

 

 

 

 

参考文章:

1.https://baike.baidu.com/item/%E4%BC%AA%E5%BD%A9%E8%89%B2%E5%A4%84%E7%90%86/22235777?fr=aladdin

2.https://www.baidu.com/link?url=-SD004CwT9kwY411GZrKmCr739gdngk3zGMgIKj9p15YV5CuQp4qasou__DnvZXs3X5ADXYaHFOD0dcU5n72uzntMcVGPFPytT-SySxH5x3&wd=&eqid=a23dd80b0004ecf1000000065f0adda4

  • 2
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值