opencv Image等操作在win下的坑
Opencv 操作 Image win
2023-09-27 14:25:31 时间
好久没有在win下写东西了。导致又一次踩到了坑里。
1. PIL库读图,转为numpy:np.array()
2. opencv读入的图像是BGR格式,转为RGB:img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
3. opencv保存时,路径不能是中文!!!否则不报错但是也保存不了!!!
4. 保存图片的路径:'D:/Face Recognition/CASIA-WebFace-aligned',注意是 /,\\也行,但是有个潜在的问题,利用os.path.join()后,路径会自动变成 \ 。这也不报错,但也保存不了图片!!!所以保存时要使用 / ,并且不要使用os.path.join()!!!
5. matpotlib.pyplot保存Image读入的图为jpg格式时会报错:RGBA不能存为RGB! 所以只能存为png格式。但是利用cv2.imwrite可以保存。
6. 读入图片时,要注意有的图像可能是1通道的灰度图。这时如果要训练的话,3通道和1通道无法构成批量来训练。解决方法:使用cv2读入,默认是3通道。如果利用PIL的Image,可以这样写:
img = Image.open(self.root+'/'+img_path).convert('RGB')
或者手动复制三个通道修改成3通道图像:
img = np.stack([img]*3, 2)
其他:
Convert RGBA PNG to RGB with PIL
Python PIL.Image.open() Examples (里面是一些用到PIL库的一些项目代码,比较全面)
相关文章
- Python opencv图像处理基础总结(二) ROI操作与泛洪填充 模糊操作 边缘保留滤波EPF
- 【视频开发】opencv不能读取MP4格式文件
- 【计算机视觉】关于OpenCV中GPU配置编译的相关事项
- 【OpenCV】轮廓的特征矩Moment
- OpenCV:开源的视觉库(有C++、Python接口)【提供了丰富的图像操作功能】【Python接口是直接对接numpy的ndarray作为图像存储;C++接口则是cv::Mat进行存储】
- Compiling OpenCV: VTK Not Found on Ubuntu 16.04 LTS
- OpenCV探索之路(二十三):特征检测和特征匹配方法汇总
- Improving Opencv 2:The Core Functionality :How to scan images, lookup tables
- Opencv Hello World
- OpenCV图像处理——实战(全景图像拼接)
- 使用Python,OpenCV捕获关键事件,并进行视频剪辑
- Gamma校正及其OpenCV实现
- Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()
- opencv-saturate_cast防溢出函数
- opencv-imwrite保存函数
- opencv-imshow显示函数
- opencv-cv::RotatedRect 斜矩形
- opencv 掩膜操作 滤波 卷积核定义 增强对比度 掩膜运算