Opencv常用函数记录

opencv安装

pip install opencv-python

使用
import cv2

# -*- coding: utf-8 -*-
import cv2

image = cv2.imread("demo.jpg")
# 获得图像的形状,返回值是一个包含行数,列数,通道数的元组
print(image.shape)
print(image.size)
# 图像的数据类型
print(image.dtype)
# 各参数依次是:照片/添加的文字/左上角坐标/字体/字体大小/颜色/字体粗细
cv2.putText(image, "woman", (200, 500), cv2.FONT_HERSHEY_COMPLEX, 7, (0, 0, 255), thickness=10)
# 画一条蓝色的线,起始坐标,终点坐标,颜色/字体粗细
cv2.line(image, (0, 0), (500, 500), (255, 0, 0), 5)
# 显示图像,大小为600*600
cv2.imshow("demo", cv2.resize(image, (600, 600)))
# 保存到本地,保存大小为600*600
cv2.imwrite("copy.jpg", cv2.resize(image, (600, 600)))
# 0表示一直显示
cv2.waitKey(0)
# 销毁所有窗口
cv2.destroyAllWindows()



# 画出灰度图
import cv2
from matplotlib import pyplot as plt
img =cv2.imread('copy.jpg', 0)
plt.imshow(img,cmap='gray', interpolation='bicubic')
plt.xticks([]),plt.yticks([]) # to hide tick values on X and Y axis
plt.show()

cv2.cvtColor 图像空间颜色转换
opencv默认的imread是以BGR的方式进行存储的,而matplotlib的imshow默认则是以RGB格式展示

图片url链接或者本地图片,转换成numpy.array格式的图片
# 图片url
image_path = 'http:// xxxx'
 resp = requests.get(image_path)
 image = np.asarray(bytearray(resp.content), dtype="uint8")
  image = cv2.imdecode(image, cv2.IMREAD_COLOR)

# 本地图片
image = cv2.imread(image_path)

cv2.imdecode()函数从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像。

在图片上画框

cv2.rectangle(img, (i[0], i[1]), (i[2], i[3]), (0, 255, 0), 2)
第一个参数:img是原图

第二个参数:(x,y)是矩阵的左上点坐标

第三个参数:(x+w,y+h)是矩阵的右下点坐标

第四个参数:(0,255,0)是画线对应的rgb颜色

第五个参数:2是所画的线的宽度

import cv2
import glob
from core.utils.load_utils import load_image
urls = glob.glob("D:/1/*")
a = [[1065, 762, 1094, 788], [1337, 769, 1376, 800]]
for url in urls:
    img = load_image(url)           # load_image方法是上面所说转换图片为numpy.array格式
    for i in a:
        cv2.rectangle(img, (i[0], i[1]), (i[2], i[3]), (0, 255, 0), 2)

    cv2.imwrite('../data/test1.jpg', img)

RGB颜色值对应颜色
255, 255, 0 黄色
0, 0, 255 蓝色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值