opencv
opencv常用函数和用法
陌上花开缓缓归以
无
展开
-
Linux opencv3.3安装记录
#安装预处理:sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev sudo apt-get install libswscale-dev libgtk2.0-dev libv4l-devsudo...原创 2019-05-13 20:36:03 · 757 阅读 · 0 评论 -
opencv最邻近插值图像缩放
1,最近邻插值算法的思想:设原始图像src的高为h,宽为w,图像上像素值为(x,y)。设目标图像dst的高H,宽为W,图像上的像素值为(X,Y)。那么根据比例缩放的思想有x/X=w/W同理,纵向上的像素对应比值为y/Y=h/H那么在考虑目标图像dst上面的像素点(X,Y)对应到原始图像src上面像素点的位置为(x,y)=(w/W*X,h/H*Y)这里要对w/W*X与h/H...原创 2019-07-28 13:20:36 · 1002 阅读 · 0 评论 -
opencv 实现灰度图和彩色图的均衡化
1,均衡化的理解:我们拍摄或扫描的照片往往会由于光线太强或太弱,使图像对比度减弱,细节分辨不清。这样的图像直方图灰度往往都集中在某一色阶范围之内,我们需要将这些灰度拉伸到整个灰度级上,并使它们在直方图中均匀的分布,以达到增强图像的目的,这样我们就引入了图片的均衡化,以达到亮度的均衡化。2,代码实现灰度图的均衡化:import cv2import numpy as npimport...原创 2019-08-05 20:39:47 · 1513 阅读 · 0 评论 -
opencv 实现图片亮度增强和图片美白
1,图片亮度增强在解析出来的r,g,b基础上增加一定的像素值即可。代码实现:import cv2import numpy as npimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]cv2.imshow('src',img)dst = np.zero...原创 2019-08-05 20:55:23 · 2441 阅读 · 0 评论 -
opencv实现浮雕效果和改变颜色效果
1,浮雕效果实现:.基本原理:根据像素与周围像素的差值确定像素值,差别较大的像素(边缘点通常像素差别较大)像素值较大,在灰度图中表现为较亮,边缘凸显,形成浮雕状,然后加上一个灰度偏移值,作为图片的整体底色。实现公式:newP = gray0-gray1+150代码实现如下:import cv2import numpy as npimg = cv2.imread('image0.jpg'...原创 2019-08-05 21:20:31 · 1061 阅读 · 0 评论 -
opencv 图像处理之图片剪切和移位
1,图片的剪切:从width,height中获取一部分图片,(width,height)中获取一定范围的图片img[w_low:w_high,h_low:h_high].#100 -》200 x#100-》300 yimport cv2img = cv2.imread('image0.jpg',1)imgInfo = img.shapedst = img[100:200,100...原创 2019-07-28 14:07:20 · 659 阅读 · 0 评论 -
opencv 实现图片镜像和仿射变换
1,图片镜像import cv2import numpy as npimg = cv2.imread('image0.jpg',1)cv2.imshow('src',img)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]deep = imgInfo[2]newImgInfo = (height*2,width,...原创 2019-07-28 14:44:19 · 411 阅读 · 0 评论 -
opencv实现图片旋转和c语言实现图片旋转
1,opencv实现图片旋转:import cv2import numpy as npimg = cv2.imread('image0.jpg',1)cv2.imshow('src',img)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]# 2*3 matRotate = cv2.getRotationMatr...原创 2019-07-28 14:59:10 · 1075 阅读 · 0 评论 -
c语言和opencv实现图像均值滤波和中值滤波
1,c语言实现中值滤波以及算法实现描述我们在一个矩阵中去除边缘,在剩余数中求取所有像素点的均值来取代中间的值,我们来举例说明: 公式: a[i][j]是下面数据除去边缘值的平均值。1 2 3 3 1 3 10 23 54 3 2 23 45 14 2 1 21 ...原创 2019-08-13 22:28:25 · 1211 阅读 · 0 评论 -
opencv二次线性插值实现图片缩放
补充:双线性插值的数学公式推导:1,我们定义四个点:Q11,Q12,Q21,Q22,先在x方向插值R1,R2,而后y方向插值p.2,公式推导:一次线性插值如下:二次线性插值如下:综上所述我们得到:二次线性插值公式如下:3,opencv通过双线性插值来实现图像的缩放:# 1 load 2 info 3 resize 4 checkimport c...原创 2019-07-28 12:33:18 · 1102 阅读 · 0 评论 -
opencv 灰度直方图和彩色直方图像素分布绘制
1,灰度直方图的绘制:# 1 0-255 2 概率 # 本质:统计每个像素灰度 出现的概率 0-255 pimport cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width =...原创 2019-08-04 23:51:57 · 859 阅读 · 0 评论 -
在Anaconda上安装和部署opencv和tensorflow,numpy
1,首先打开anaconda navigator,进入envorienment点击如下图的create创建,并且创建name为tensorflow,package为python3.6的版本。1,进入名为tensorflow的environment2,部署tensorflow:测试tensorflow:import tensorflow as tfhello = ...原创 2019-07-23 21:32:08 · 584 阅读 · 0 评论 -
opencv简单图像处理
1,图像的读取和显示:import cv2 img = cv2.imread('image0.jpg',1)cv2.imshow('image',img)#显示画面不断刷新,直到有输入退出cv2.waitKey (0) 参数说明:2,图像的读出和写入:import cv2 # 1 文件的读取 2 封装格式解析 3 数据解码 4 数据加载img = cv2....原创 2019-07-23 21:59:47 · 343 阅读 · 0 评论 -
opencv 彩色图(24位)转灰色图(8位)
1,彩色图转灰度图:#方法2 cvtColorimport cv2img = cv2.imread('image0.jpg',1)#第一个参数是读取到的图像数据,第二个则是转换格式cv2.COLOR_BGR2GRAY(彩色图转灰度图)dst = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 颜色空间转换 1 data 2 BGR graycv2.ims...原创 2019-07-30 22:20:36 · 3616 阅读 · 0 评论 -
opencv 图片颜色反转和图片融合
1,图片颜色反转: b ->255-b,g ->255-g,r->255-r#RGB 255-R=newR#0-255 255-当前import cv2import numpy as npimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1...原创 2019-07-30 23:04:12 · 360 阅读 · 0 评论 -
opencv 简单图形绘制(线段,圆,矩阵)和图片上添加信息
1,绘制线段:import cv2import numpy as npnewImageInfo = (500,500,3)dst = np.zeros(newImageInfo,np.uint8)# line# 绘制线段 1 dst 2 begin 3 end 4 colorcv2.line(dst,(100,100),(400,400),(0,0,255))# 5 line ...原创 2019-07-30 23:33:10 · 584 阅读 · 0 评论 -
opencv 实现边缘检测
1,边缘检测的实现过程:(1)图片转化为灰度图;(2)图片的高斯滤波;(3)图片的卷积积分实现,阈值比较;代码实现:import cv2import numpy as npimport randomimg = cv2.imread('image0.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInf...原创 2019-08-05 20:02:42 · 518 阅读 · 0 评论 -
opencv 实现打马赛克
1,我们需要屏蔽图片中的一部分图片,所以我们需要用到马赛克,代码实现如下;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 ...原创 2019-08-04 21:06:16 · 1415 阅读 · 0 评论 -
opencv 绘制直方图
1,绘制直方图函数说明:cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]])参数说明:images(图像数据),channels为频道,mask默认为None,histSize:使用多少个bin(柱子),一般为256ranges:像素值的范围,一般为[0,255]表示0~255,一般为...原创 2019-08-04 22:39:20 · 1487 阅读 · 0 评论 -
Linux opencv打开摄像头和opencv旋转90和180度
1,opencv打开摄像头#include<opencv2/opencv.hpp>using namespace cv;int main(){ VideoCapture cap; cap.open(1); //打开摄像头,序列号是/dev/videoi,i是0,1,2,cap.open(i) if(!cap.isOpened()) ...原创 2019-08-18 15:46:51 · 2328 阅读 · 0 评论