前言
本章主要讲述图片的缩小与放大,以及在图片上框出自己目标的东西
目录
提示:以下是本篇文章正文内容,下面案例可供参考
实现opencv在图片上画框准确定位某个主体
一、如何在opencv内导入图片
代码如下(示例):
import cv2
import numpy as np
img = cv2.imread('C:/Users/Rise/Pictures/Saved Pictures/1.JPG')
cv2.imshow('IG',img)
cv2.waitKey(0)
将自己所要放入的图片填入imread()对应的位置,这样的就可以输出自己放入的图片。
这边有两点需要注意:
1.代码结尾cv.waitKey(0)括号中的0是为了让你的图片可以持续输出,直到你手动关闭它。如果要让他自己关闭,可以填上时间让他一定时间后自己关闭。(例如:cv.waitKey (10000) # 显示 10000 ms 即 10s 后消失
2.在导入图片文件的地址时,要注意斜杠的方向,如果直接复制地址,斜杠可能会是反着的,需要手动纠正。
下图是图片导出效果.
二、如何对图片进行缩放?
(1)设置输出图片的尺寸 img=cv2.resize(img,( , ))
(2)设置缩放因子 (None指图片尺寸) img=cv2.resize(img,None,fx=0.7,fy=0.7)
1.在放入图片的基础上进行缩放
代码如下(示例):
import cv2
import numpy as np
img = cv2.imread('C:/Users/Rise/Pictures/Saved Pictures/1.JPG')
cv2.imshow('IG',img)
cv2.waitKey(0)
import cv2
img=cv2.imread('C:/Users/Rise/Pictures/Saved Pictures/1.JPG')
img1=cv2.resize(img,(500,500))#设置输出图片的尺寸
img2=cv2.resize(img,None,fx=0.7,fy=0.7)#None指图片尺寸,但我们设置了缩放因子
cv2.imshow('text',img1)
cv2.imshow('text1',img2)
cv2.waitKey(0)
2.运行程序
三.如何在图片上框出我们想要的内容。
1.首先这个涉及到矩形的绘制
如何绘制一个矩形?(确定两个点)
(1)首先矩形在程序中的代码为cv.rectangle
而在矩形中,我们包括了6个要素
cv.rectangle(img, ptLeftTop, ptRightBottom, point_color, thickness, lineType)
分别是(文件图片,左上顶点,右下顶点,颜色,宽度,线型)
2,接下来把矩形代码放入图片的程序下运行
具体代码如下:
import numpy as np
import cv2 as cv
import cv2
import numpy as np
# 矩形左上角和右上角的坐标,绘制一个红色矩形
img = cv2.imread('C:/Users/Rise/Pictures/Saved Pictures/1.JPG')
ptLeftTop = (320, 500)
ptRightBottom = (1050, 760)
point_color = (0, 0, 255) # BGR
thickness = 1
lineType = 4
cv.rectangle(img, ptLeftTop, ptRightBottom, point_color, thickness, lineType)
cv2.imshow('IG',img)
cv2.waitKey(0)
效果如下:
中间的“我们是冠军”被矩形框起来
以上就是本章的主要内容,有什么不足会继续改进的。