![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
opencv
文章平均质量分 76
视觉库opencv
persist_gd
行有不得,反求诸己
展开
-
对比度受限的直方图均衡化
import cv2import matplotlib.pyplot as pltimg = cv2.imread('clahe/timg.jpg',0) #读为灰度图像# 直方图均衡res = cv2.equalizeHist(img)# 对比度受限的直方图均衡clahe = cv2.createCLAHE(clipLimit=2,tileGridSize=(10,10))cl1 = clahe.apply(img)plt.subplot(131),plt.imshow(img,'gray原创 2020-07-31 18:58:04 · 356 阅读 · 0 评论 -
图像边界填充
import cv2import matplotlib.pyplot as pltimg=cv2.imread('cat.jpg')top_size,bottom_size,left_size,right_size = (50,50,50,50)# 复制最边缘像素填充replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)#原创 2020-07-24 21:49:44 · 420 阅读 · 0 评论 -
一帧一帧的读取视频
本段程序会逐帧读取视频灰度图,效果类似于看视频import cv2vc = cv2.VideoCapture('test.mp4')if vc.isOpened(): oepn, frame = vc.read()else: open = Falsewhile open: ret, frame = vc.read() if frame is None: break if ret == True: # 将一帧转化为灰度图原创 2020-07-24 21:33:16 · 1232 阅读 · 0 评论 -
基于Haar和Adaboost的人脸识别
import cv2import numpy as np# 加载人脸和人眼识别器face_xml = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')eye_xml = cv2.CascadeClassifier('haarcascade_eye.xml')img = cv2.imread('face.jpg')cv2.imshow('src',img)gray = cv2.cvtColor(img,cv2.COLOR_B原创 2020-07-22 21:06:26 · 124 阅读 · 0 评论 -
图片合成视频
import cv2img = cv2.imread('image1.jpg')imgInfo = img.shapesize = (imgInfo[1],imgInfo[0])print(size)# 创建写入对象 参数一 文件名称 参数二 可以使用的编码器 参数三 每秒帧率 参数四 视频大小videoWrite = cv2.VideoWriter('2.mp4',-1,5,size)# 将图片写入视频中for i in range(1,11): fileName = 'i原创 2020-07-21 22:26:53 · 287 阅读 · 0 评论 -
视频分解图片
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 = int(cap.get(cv2.CAP_PROP_FRAME_HEIG原创 2020-07-20 22:03:12 · 134 阅读 · 0 评论 -
中值滤波
import cv2import numpy as npimg = cv2.imread('image11.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]img = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)cv2.imshow('src',img)dst = np.zeros((height,width,3),np.uint8)collect = np.zeros(9,np.ui原创 2020-07-19 21:23:13 · 97 阅读 · 0 评论 -
均值滤波
import cv2import numpy as npimg = cv2.imread('image11.jpg',1)cv2.imshow('src',img)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]dst = np.zeros((height,width,3),np.uint8)for i in range(3,height-3): for j in range(3,width-3): su原创 2020-07-19 21:20:50 · 98 阅读 · 0 评论 -
亮度增强
简单的将像素点的值加上一个常数import cv2import numpy as npimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]cv2.imshow('src',img)dst = np.zeros((height,width,3),np.uint8)for i in range(0,height): for j in range(0,width):原创 2020-07-19 21:09:35 · 170 阅读 · 0 评论 -
从源码的角度理解直方图均衡化
统计各个像素点的频率绘制直方图计算各个像素点的累计概率利用累计概率重新绘制图片import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)cv2.imshow('src'原创 2020-07-19 21:02:31 · 50 阅读 · 0 评论 -
图片修复
破坏一张图片import cv2 import numpy as npimg = cv2.imread('image0.jpg',1)for i in range(200,300): img[i,200] = (255,255,255) img[i,200+1] = (255,255,255) img[i,200-1] = (255,255,255)for i in range(150,250): img[250,i] = (255,255,255) img原创 2020-07-19 20:49:17 · 461 阅读 · 0 评论 -
直方图均衡化
直方图均衡化用来提升图像的对比度,提升图像的对比度就是让暗的地方更暗,亮的地方更亮灰度直方图均衡化import cv2import numpy as npimg = cv2.imread('image0.jpg',1)gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)cv2.imshow('src',gray)dst = cv2.equalizeHist(gray)cv2.imshow('dst',dst)cv2.waitKey(0)彩色直方图均衡化原创 2020-07-19 20:30:13 · 180 阅读 · 0 评论 -
绘制彩色图片直方图
import cv2import numpy as npdef ImageHist(image,type): color = (255,255,255) windowName = 'Gray' if type == 31: color = (255,0,0) windowName = 'B Hist' elif type == 32: color = (0,255,0) windowName = 'G His原创 2020-07-19 20:17:05 · 303 阅读 · 0 评论 -
opencv画常规图形
import cv2import numpy as np# 图像shapenewImageInfo = (500,500,3)dst = np.zeros(newImageInfo,np.uint8)# line# 绘制线段 参数一 图片数据 参数二 线段起始位置 参数三 线段结束位置 参数四 线段颜色 参数五 线条宽度 参数六 线条类型(尾部比较光滑)cv2.line(dst,(100,300),(400,300),(0,255,0),20,cv2.LINE_AA)cv2.imshow原创 2020-07-18 22:10:19 · 91 阅读 · 0 评论 -
油画效果
import cv2import numpy as npimg = cv2.imread('image00.jpg',1)cv2.imshow('src',img)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)dst = np.zeros((height,width,3),np.uint8)for i in range(4,height-4原创 2020-07-18 21:36:01 · 130 阅读 · 0 评论 -
颜色风格
import cv2import numpy as npimg = cv2.imread('image0.jpg',1)cv2.imshow('src',img)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]dst = np.zeros((height,width,3),np.uint8)for i in range(0,height): for j in range(0,width): (b,g,r)原创 2020-07-18 20:57:58 · 77 阅读 · 0 评论 -
浮雕效果
import cv2import numpy as npimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)dst = np.zeros((height,width,1),np.uint8)for i in range(0,height): for j in range(0,w原创 2020-07-18 20:53:38 · 158 阅读 · 0 评论 -
边缘检测
直接使用opencv-api实现import cv2import numpy as npimport randomimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]cv2.imshow('src',img)# 灰度转化gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 高斯滤波 去掉噪音imgG = cv2.Gaussia原创 2020-07-18 20:49:31 · 72 阅读 · 0 评论 -
图像融合
图像融合公式:dst=src1a+src2∗(1−a)dst = src1 a+src2*(1-a)dst=src1a+src2∗(1−a)import cv2import numpy as npimg0 = cv2.imread('image0.jpg',1)img1 = cv2.imread('image1.jpg',1)imgInfo = img0.shapeheight = imgInfo[0]width = imgInfo[1]# 要保证两张图片的shape一样,一样才能线性相加原创 2020-07-17 21:34:19 · 174 阅读 · 0 评论 -
马赛克效果
马赛克效果是将10*10方块中的100个像素点值的值替换成一样的import cv2import numpy as npimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]for m in range(100,300): for n in range(100,200): # pixel ->10*10 if m%10 == 0原创 2020-07-17 20:05:49 · 147 阅读 · 0 评论 -
图像的颜色反转
灰度图像的颜色反转import cv2import numpy as npimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)dst = np.zeros((height,width,1),np.uint8)for i in range(0,height): for j in原创 2020-07-17 19:51:02 · 989 阅读 · 0 评论 -
图像灰度处理
方法一import cv2# 参数二传1彩图,传0灰度图img0 = cv2.imread('image0.jpg',0)img1 = cv2.imread('image0.jpg',1)cv2.imshow('src',img0)cv2.waitKey(0)方法二import cv2img = cv2.imread('image0.jpg',1)dst = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 参数二描述转换方式BGR到graycv2.imsh原创 2020-07-17 19:38:32 · 197 阅读 · 0 评论 -
opencv基础操作
图片的读取与展示import cv2 # 二位参数,0 gray 1 colorimg = cv2.imread('name.jpg',1)# 一位参数 window name 二位参数为显示数据cv2.imshow('image',img)# 必须waitkey因为数据会一瞬消失,waitkey后才能展示cv2.waitKey (0)图片的写入与图片质量的设置# 有损压缩cv2.imwrite("new_name.jpg",img,[cv2.IMWRITE_JPEG_CHROMA_Q原创 2020-07-17 19:17:24 · 108 阅读 · 0 评论 -
图像识别几个网络的梳理
GoogLeNet(Inception)原创 2020-08-07 21:42:34 · 737 阅读 · 0 评论