问题1tiff无法加载彩色或灰色
opncv 4.0+
python 3.7+
- python好像智能默认加载三个波段的图片,虽然支持tif格式,但是单波段的tif无法加载灰度图像
- 解决方法:
- 用cv.IMREAD_UNCHANGED或-1
- 相当于是加载原数据,
- (不知道为什么2也可以)
- 根据需要自己设置波段
- 用cv.IMREAD_UNCHANGED或-1
报错:
OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-oduouqig\opencv\modules\imgproc\src\contours.cpp:197: error: (-210:Unsupported format or combination of formats) [Start]FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 images only in function ‘cvStartFindContours_Impl’
- 错误原因
- 需要CV_8UC1但是数据却是CV_32SC1
- 解决方法1
- 灰度图导入数据就没错了(我没成功,网上都是c++的,python可能不行)
- 解决方法2
- 将数据转化为对应数据
- 百度解读CV_8UC1和CV_32SC1可以知道,将float32转化为unit8就行
- 示例:
t = t.astype(np.float32) / 255 t = (t * 255).astype(np.uint8)
- 将数据转化为对应数据