GDAL+OPENCV处理遥感影响经常会报错

博客讲述了在使用OpenCV处理遥感影像时遇到的问题,特别是通道转换和二值图像处理。作者指出,某些操作只支持三通道图像,而原始图像可能是一通道的二值图像。通过将一通道图像扩展为三通道,然后进行灰度转换,再应用阈值处理和轮廓检测,最后进行了图像填充。过程中遇到了通道不匹配导致的错误,并展示了如何解决这一问题。
摘要由CSDN通过智能技术生成

我发现每次利用opencv包处理遥感影像经常会报错,明明已经变成uint格式了,还会报错
这次发现是因为有一些只支持三通道,我的二值图像是一通道,存储结果报错是因为需要保存1通道的结果,我的是三通道
所以就需要1通道3通道来回转换` img1 = np.array(b1)

# img2 = np.dtype(img1, np.uint8)
img = np.expand_dims(img1, axis=2)
img = np.concatenate((img, img, img), axis=-1)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)



ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# contours = cv2.findContours(img)
dilate = cv2.fillPoly(img, [contours[1]],(255,15,15))
cv2.imshow("filled binary", dilate)`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值