数字图像处理
数字图像处理的基本概念,OpenCV的使用方法。
逐梦er
ACM铜牌退役狗、机器学习炼丹师、懒癌晚期患者
展开
-
OpenCV:使用python-cv2+Hog特征+SVM实现狮子识别
文章目录SVMHog特征Hog特征+SVM实现狮子识别SVM支持向量机:寻求一个最优的超平面,实现样本的分类下面我们用SVM实现一个根据身高体重对男女生分类的问题import cv2import numpy as npimport matplotlib.pyplot as plt# 准备数据rand1 = np.array([[155,48],[159,50],[164,53],[168,56],[172,60]])rand2 = np.array([[152,53],[156,55],原创 2020-10-26 21:27:11 · 6250 阅读 · 5 评论 -
OpenCV:使用python-cv2实现Harr+Adaboost人脸识别
文章目录Haar特征计算方式使用haar模板处理图像积分图Adaboost分类器代码实现Haar特征哈尔特征使用检测窗口中指定位置的相邻矩形,计算每一个矩形的像素和并取其差值。然后用这些差值来对图像的子区域进行分类。haar特征模板有以下几种:以第一个haar特征模板为例计算方式1.特征 = 白色 - 黑色(用白色区域的像素之和减去黑色区域的象征之和)2.特征 = 整个区域 * 权重 + 黑色 * 权重使用haar模板处理图像从图像的起点开始,利用haar模板从左往右遍历,从上往下遍历原创 2020-10-25 12:10:12 · 7816 阅读 · 15 评论 -
OpenCV:使用python-cv2实现视频的分解与合成
1.视频分解图片我们使用cv2.VideoCapture来读取视频import cv2cap = cv2.VideoCapture('1.mp4')isOpened = cap.isOpened # 判断视频是否可读print(isOpened)fps = cap.get(cv2.CAP_PROP_FPS) # 获取图像的帧,即该视频每秒有多少张图片width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取图像的宽度和高度height = i原创 2020-10-19 21:34:40 · 3929 阅读 · 6 评论 -
OpenCV:使用python-cv2进行图像的美化
文章目录1.图片修补2.亮度增强3.磨皮美白4.高斯均值滤波5.中值滤波1.图片修补首先得到一个损坏的图像:import cv2import numpy as npimg = cv2.imread('img.jpg', 1)for i in range(100,200): img[i, 200] = (255,255,255) img[i, 200+1] = (255,255,255) img[i, 200-1] = (255,255,255)for i in rang原创 2020-10-18 23:38:04 · 2922 阅读 · 6 评论 -
OpenCV:利用python来实现图像的直方图均衡化
文章目录1.直方图2.直方图均衡化3.源代码实现直方图均衡化1.直方图直方图: (1) 图像中不同像素等级出现的次数 (2) 图像中具有不同等级的像素关于总像素数目的比值。我们使用cv2.calcHist方法得到直方图cv2.calcHist(images, channels, mask, histSize, ranges):-img: 图像-channels: 选取图像的哪个通道-histSize: 直方图大小-ranges: 直方图范围cv2.minMaxLoc: 返回直方图的最大最原创 2020-10-17 21:09:31 · 4257 阅读 · 8 评论 -
OpenCV:利用python-cv2绘制图形
文章目录1.绘制线段2.绘制矩形、圆形和椭圆3.绘制任意多边形4.文字图片绘制1.绘制线段cv2.line(img, pt1, pt2, color, thickness, lineType):-img: 目标图像-pt1: 起点-pt2: 终点-color: 绘制的颜色-thickness: 线段宽度-lineType: 线段类型import cv2import numpy as npnewImageInfo = (200,200,3)dat = np.zeros(newImag原创 2020-10-15 11:46:17 · 4231 阅读 · 0 评论 -
OpenCV:图像特效处理(二)
文章目录1.浮雕效果2.颜色映射3.油画特效1.浮雕效果计算公式: 相邻像素的像素值之差加上一个恒定值import cv2import numpy as npimg = cv2.imread('img.jpg', 1)gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)cv2.imshow('gray', gray)dat = np.zeros((img.shape[0], img.shape[1], 1), np.uint8)for i in rang原创 2020-10-15 10:52:15 · 651 阅读 · 0 评论 -
OpenCV:图像特效处理(一)
文章目录1.灰度处理2.颜色反转3.马赛克4.毛玻璃效果5.图像融合7.边缘检测1.灰度处理1.将cv2.imread()方法的第二参数设为0即可得到灰色图像import cv2import numpy as npimg0 = cv2.imread('img.jpg', 0)img1 = cv2.imread('img.jpg', 1)print(img0.shape)print(img1.shape)cv2.imshow('img0', img0)cv2.waitKey(0)(27原创 2020-10-14 19:44:20 · 10574 阅读 · 12 评论 -
OpenCV:图片的几何变换
文章目录1.图片缩放1.1 最近邻域插值法1.2 双线性插值法2.图片剪切3.图片位移4.图片镜像5.仿射变换6.图像旋转1.图片缩放使用cv2.resize方法进行图像的缩放import cv2img = cv2.imread('img.jpg', 1)imgInfo = img.shape # 得到图片的高度、宽度、颜色通道print(imgInfo)height, width, mode = imgInfo# 等比例缩放datHeight = int(height * 0.5)da原创 2020-10-12 20:52:22 · 855 阅读 · 0 评论 -
OpenCV:读取与写入图片
文章目录1.读取图片2.图片写入2.1图像质量3.像素3.1像素读取与写入1.读取图片cv2.imread(filename, flags):-filename: 文件名称-flags: 0 读入灰度图片,1 读入彩色图片cv2.imshow(winname, mat): -winname: 窗口名字 -mat: 要展示的图片矩阵cv2.waitKey(0):暂停程序,这样才能显示图片import cv2img = cv2.imread("img.jpg", 1)cv2.imsho原创 2020-10-11 09:25:45 · 18527 阅读 · 6 评论