作者:RayChiu_Labloy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
当我们想截图某个图像中的某个ROI区域的时候不知道ROI区域的坐标,可以借助画图工具来找坐标。比如李娜的眼睛:
我们把李娜拖动到画图工具,此时图像会处于图像的左上角,左上角的坐标为(0,0),和我们opencv读取图像的坐标系方向一致。
鼠标放到红色的点可以看到画图工具左下角会显示鼠标位置的坐标(391,310),同理我们可以得到眼睛右下角蓝色点的坐标(443,375)
我们习惯的坐标表示 是 先 x 横坐标,再 y 纵坐标。在图像处理中,这种惯性思维经常情况下是错误的。因为在计算机中,图像是以矩阵的形式保存的,先行后列。所以,一张 宽×高×颜色通道=480×256×3 的图片会保存在一个 256×480×3 的三维张量中。图像处理时也是按照这种思想进行计算的(其中就包括 OpenCV 下的图像处理),即 高×宽×颜色通道。那么我们可以把上边的两个坐标位置整理成ROI区域 image[310:375, 391:443]
代码:
import cv2
img = cv2.imread('lena.jpg')[310:375, 391:443]
# 转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print("**********",type(gray))
print("**********",gray.shape)
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
效果:
【如果对您有帮助,交个朋友给个一键三连吧,您的肯定是我博客高质量维护的动力!!!】