OpenCV 对图像的基本操作
今天要用的照片。
nasa.png
代码
import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
BLUE = [255,0,0]
img1 = cv.imread('nasa.png')
replicate = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REPLICATE)
reflect = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT)
reflect101 = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT_101)
wrap = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_WRAP)
constant= cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_CONSTANT,value=BLUE)
plt.subplot(231),plt.imshow(img1,'gray'),plt.title('ORIGINAL')
plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')
plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('REFLECT')
plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('REFLECT_101')
plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('WRAP')
plt.subplot(236),plt.imshow(constant,'gray'),plt.title('CONSTANT')
plt.show()
结果。
似乎工作得不是很好。让我们尝试一个有边界的。
听起来很简单。cv.copyMakeBorder() 函数在图像周围添加填充。
borz.jpg
结果。
不太明白为什么整个图像看起来都是蓝色的。可以从尺寸上看出填充已成功添加。
发现问题在于 matplotlib 使用 RGB 格式,而 opencv 使用 BGR 格式。
img1 = cv.cvtColor(img1, cv.COLOR_BGR2RGB)
所以我们需要这一行来转换格式。
更好了!
现在让我们增加内边距的宽度,使其更加明显。
完美的!
原文标题:OpenCV 对图像的基本操作
-
苹果又一个操作系统收尾,国产厂商该醒了
2022-12-08 -
国产自主操作系统翻车?其实基于AOSP的都可以自称为自主操作系统
2022-12-07 -
Innovusion第5万台图像级超远距激光雷达下线
2022-11-28 -
在 Python 中使用 OpenCV 进行图像处理
2022-11-21 -
数字图像处理:边缘检测
2022-11-17 -
使用 OpenCV 和 Python 在直播中模糊人脸
2022-11-14 -
使用 OpenCV 构建文档扫描仪
2022-11-02 -
国家电网公司推进一键顺控规范化建设规模化应用
2022-10-28 -
图像上的 OpenCV 算术运算
2022-10-18 -
国际首次!中国科学家“拍摄”到光生电荷转移演化全时空图像
2022-10-13 -
在 C++ 中使用 OpenCV 对图像中的对象进行扭曲透视
2022-10-11 -
用 OpenCV 检测猫脸
2022-10-08 -
使用 Google Colab 训练的图像分类模型
2022-09-28 -
安徽电网首台操作机器人在合肥投用
2022-09-16 -
高性能图像传感器的供电
2022-09-14