图像识别ImageRecognition

本文介绍了使用OpenCV进行图像处理的各种技术,包括裁剪、缩放、颜色差值、边缘检测、亮度提升、角点检测、特征点检测以及如何通过特征值矩阵识别图片中的物体。还特别提到了色彩排列在不同库中的差异以及直方图均衡化在亮度提升中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图像识别

注意:cv2中的色彩排列是(b,g,r),而matplotlib库中的排列方式是(r,g,b),本文件中采用plt进行输出,因此颜色不是准确的颜色

1. OpenCV,机器视觉

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

original = cv.imread('../data/forest.jpg')
print(original.shape, original.dtype)
cv.imshow('Original', original)  # 显示图片(是非阻塞函数)
# cv.waitKey()  # 等待按键响应
plt.imshow(original)
(397, 600, 3) uint8
red = np.zeros_like(original)
red[..., 0] = original[..., 0]  # 0表示红色通道
cv.imshow('Red', red)
plt.imshow(red)

在这里插入图片描述

green = np.zeros_like(original)
green[..., 1] = original[..., 1]  # 1表示绿色通道
cv.imshow('Green', green)
plt.imshow(green)

在这里插入图片描述

blue = np.zeros_like(original)
blue[..., 2] = original[..., 2]  # 2表示蓝色通道
cv.imshow('Blue', blue)
plt.imshow(blue)

在这里插入图片描述

裁剪图片
h, w = original.shape[:2]
l, t = int(w / 4), int(h / 4)
r, b = int(w * 3 / 4), int(h * 3 / 4)
cropped = original[t:b, l:r]
cv.imshow('Cropped', cropped)
plt.imshow(cropped)

在这里插入图片描述

缩小图片
scaled1 = cv.resize(original, (int(w / 4), int(h / 4)))
plt.imshow(scaled1)

在这里插入图片描述

颜色差值
scaled2 = cv.resize(original, (int(w / 4), int(h / 4)), interpolation=cv.INTER_LINEAR)
plt.imshow(scaled2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值