python opencv基础

前置工具

opencv的安装:打开cmd,输入pip install opencv-python即可。




一、简单的读写操作

(1)函数介绍

  • imread(filename,flags=None) :读取图像
    filename:图像的路径
    flags:读取彩色图or灰色图(flags=1为彩色图,flags=0为灰色图)

  • imshow(winname, mat) :显示图像
    winname:显示图片的窗口的名字
    mat:要显示的图像矩阵

  • imwrite(filename, img) :保存图像
    filename:保存到的图像路径名
    img:要保存的图像矩阵



(2)实例

import cv2

image = cv2.imread(r"C:\Users\zzj\Desktop\test.png")#读取图像

print("图像宽度:%d个像素" % (image.shape[1]))#获取图像的宽度
print("图像高度:%d个像素" % (image.shape[0]))#获取图像的高度
print("图像通道数: %d" % (image.shape[2]))#获取图像的通道数

cv2.imshow('picture',mat=image[100:1000,500:1000])#第100行到第1000行和第500列到1000列的矩阵

cv2.waitKey(0)#程序暂停(一定要加上,不然显示不出图像)



二、稍稍进阶一下

(1)函数介绍

  • (b,g,r) = image[i,j] : 获取三维矩阵(i,j)处的元素
    ps:Python中图像像素是按B,G,R顺序存储的

  • newImage = image[i:j,m:n] :第i行到第j行与第m列到第n列的交叉部分



(2)实例

更改图片某一部分的颜色:

import cv2

image = cv2.imread(r"C:\Users\zzj\Desktop\test.png")#读取图像

corner = image[0:100,0:100]#读取像素块
image[0:100,0:100] = (0,255,0);#更改读取的像素块
cv2.imshow('picture',image)

cv2.waitKey(0)#程序暂停(一定要加上,不然显示不出图像)



三、基础图形绘制

(1)函数介绍

  • line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None) :画线
    img:在图img上进行绘制
    pt1:起点(坐标)
    pt2:终点(坐标)
    color:线的颜色;例如:(0,255,0)(绿色)
    thickness:线的粗细程度,例如:-1,1,2,3…
    其它参数默认即可。

  • rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None) :画矩形
    img:在图img上进行绘制
    pt1:起点(矩形左上角的点)
    pt2:终点(矩形右下角的点)
    color:线的颜色;例如:(0,255,0)(绿色)
    thickness:线的粗细程度,例如:-1,1,2,3…
    其它参数默认即可。

  • circle(img, center, radius, color, thickness=None, lineType=None, shift=None) :画圆
    img:在img上绘图;
    center:圆心;例如:(0,0)
    radius:半径;例如:20
    color:线的颜色;例如:(0,255,0)(绿色)
    thickness:线的粗细程度,例如:-1,1,2,3…
    其它参数默认即可。



(2)实例

画线跟矩形:

import numpy as np
import cv2

canvas = np.zeros((300,300,3)) #生成全是0的三维矩阵作为画布
green = (0,255,0)
red = (0,0,255)

#画线
cv2.line(canvas,(0,0),(300,300),green,2)
cv2.line(canvas,(300,0),(0,300),red,1)

#绘制矩形
cv2.rectangle(canvas,(10,10),(60,60),green)

#绘制实心矩形,-1代表实心
blue = (255,0,0,)
cv2.rectangle(canvas,(200,50),(225,125),blue,-1)

#展示图片
cv2.imshow("Canvas",canvas)
cv2.waitKey(0)

有规律的画圆:

import numpy as np
import cv2

canvas = np.zeros((300,300,3),dtype="uint8")#重新初始化变量canvas(三维的矩阵)
(centerX,centerY) = (int(canvas.shape[1]/2), int(canvas.shape[0]/2))#获取图像中心 ps:圆心一定要是整数类型
white = (255,255,255)#设置白色变量
for r in range(1,175,25):
    cv2.circle(canvas,(centerX,centerY),r,white)#circle(图像,圆心,半径,颜色)

cv2.imshow("Canvas",canvas)
cv2.waitKey(0)




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值