Opencv从入门到精通(三):图像基础操作和变形与裁剪

文章目录

  • 一、基础操作
  • 二、resize和crop

一、基础操作

在Opencv中约定通道是BGR
但是彩色图像是RGB

img = cv2.imread('./1.png')
# print(img, type(img))  # ndarray

img_gray = cv2.cvtColor(img, code=cv2.COLOR_BGR2GRAY)  # 转成灰色图
img_blur = cv2.GaussianBlur(img_gray, ksize=(7, 7), sigmaX=0)  # 让图像变模糊 ksize 参数必须是奇数

img_canny = cv2.Canny(img_gray, 150, 100)  # 边缘检测
import numpy as np

kernel = np.ones(shape=(5, 5), dtype=np.uint8)  # np.uint8: 0-255
img_dialation = cv2.dilate(img_canny, kernel, iterations=1)  # 让图像变厚
img_eroded = cv2.erode(img_dialation, kernel, iterations=1)  # 腐蚀图像 让图像变薄

print(img_gray)
cv2.imshow('Gray Image', img_gray)
cv2.imshow('Blur Image', img_blur)
cv2.imshow('Canny Image', img_canny)
cv2.imshow('Dialation Image', img_dialation)
cv2.imshow('Eroded Image', img_eroded)
cv2.waitKey(0)

二、resize和crop

Opencv从入门到精通(三):图像基础操作和变形与裁剪_第1张图片
Opencv从入门到精通(三):图像基础操作和变形与裁剪_第2张图片

# 变形 cv2.resize(src,dsize)

import cv2

img = cv2.imread('1.png')
print(img.shape) # (136, 102, 3)

img_resize = cv2.resize(img, dsize=(300, 300))  # H*W*C(BGR)

print(img_resize.shape) # (300, 300, 3)
cv2.imshow('Img', img)

cv2.imshow('Img Resize', img_resize)
cv2.waitKey(0)
# 裁剪 就是ndaryy切片
import cv2

img = cv2.imread('1.png')
cv2.imshow('Img', img)

img_crop = img[1:100]

cv2.imshow('Img Crop', img_crop)
cv2.waitKey(0)

你可能感兴趣的:(#,Opencv,opencv,计算机视觉)