Python+OpenCV对灰度图像进行伪彩色处理
程序员文章站
2022-03-07 20:48:02
伪彩色处理:根据一定准则给灰度值赋予彩色值的处理。宏观来说就是将黑白图像转化为彩色图像,或者是将单色图像变换成给定彩色分布的图像。博主在学习遥感图像处理时接触到NDVI图像的计算,对生成的灰度图像需要进行伪彩色处理以增强对比。代码如下:(python+OpenCV)import cv2im_gray = cv2.imread("H:/gdal/rs-data/result/ndvi.jpg", cv2.IMREAD_GRAYSCALE)im_color = cv2.applyColorM...
伪彩色处理:根据一定准则给灰度值赋予彩色值的处理。宏观来说就是将黑白图像转化为彩色图像,或者是将单色图像变换成给定彩色分布的图像。
博主在学习遥感图像处理时接触到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
本文地址:https://blog.csdn.net/qq_43177210/article/details/107302681