opencv
文章平均质量分 84
薛定谔的智能
这个作者很懒,什么都没留下…
展开
-
小孔成像中四个坐标系转换
一.小孔成像基础知识:1.1透镜成像原理如图所示:其中 u 为物距, f 为焦距,v 为相距。三者满足关系式:相机的镜头是一组透镜,当平行于主光轴的光线穿过透镜时,会聚到一点上,这个点叫做焦点,焦点到透镜中心的距离叫做焦距 f。数码相机的镜头相当于一个凸透镜,感光元件就处在这个凸透镜的焦点附近,将焦距近似为凸透镜中心到感光元件的距离时就成为小孔成像模型。小孔成像模型如图所示。为了计算方便一般采用对称成像平面来进行计算.二.四个坐标转换2.1 背景世界坐标系,相...原创 2021-09-05 11:51:21 · 2668 阅读 · 0 评论 -
C++ opencv的一些基础知识
一.一些api1.构建矩阵#include "iostream"#include <opencv2/opencv.hpp>#include "opencv2/dnn/dnn.hpp"#include "opencv2/imgcodecs/imgcodecs.hpp"#include <vector>using namespace std;cv::Mat scalar_demo1(){ cv::Mat M(4,4,CV_32FC2,cv::Scalar(原创 2021-06-03 10:25:35 · 3416 阅读 · 0 评论 -
ubuntu16.04编译安装c++ opencv与vscode配置debug
一.编译安装c++ opencv1.下载zip包本文安装的是opencv3.4.3,下载链接,以Sources方式下载zip包.2.安装依赖sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python原创 2021-03-31 21:33:57 · 468 阅读 · 2 评论 -
利用opencv添加mask
第一种做法:import osimport sysimport randomimport mathimport numpy as npimport skimage.ioimport matplotlibimport matplotlib.pyplot as pltimport cv2import colorsysos.environ['CUDA_VISIBLE_DEVI...原创 2019-03-04 13:34:51 · 2939 阅读 · 0 评论 -
利用opencv对图像和检测框做任意角度的旋转
钢筋比赛中的数据扩充#coding:utf-8#数据集扩增import cv2import mathimport numpy as npimport xml.etree.ElementTree as ETimport osdef rotate_image(src, angle, scale=1): w = src.shape[1] h = src.shape...原创 2019-01-23 14:07:25 · 2223 阅读 · 0 评论 -
selective search
https://blog.csdn.net/fanzonghao/article/details/82946058 RCNN模型中使用了SS(Selective Search)进行区域推荐,SS作为一种区域推荐算法作为检测框,它是一种基于图像层次纹理、大小、形状进行分割与合并的算法 。SS算法进行区域推荐ROI生成会执行如下步骤 对每个分割区域计算外接矩形框,作为区域推荐窗口 ...原创 2019-01-22 20:31:11 · 485 阅读 · 0 评论 -
图像几何变换
一.仿射变换概念1.下图是一般形式,其中x,y代表原坐标,v,w代表变换后的坐标,T是变换矩阵其中几种常见的变换形式矩阵为:2.坐标系变换再看第二个问题,变换中心,对于缩放、平移可以以图像坐标原点(图像左上角为原点)为中心变换,这不用坐标系变换,直接按照一般形式计算即可。而对于旋转和偏移,一般是以图像中心为原点,那么这就涉及坐标系转换了。我们都知道,opencv的原点在图像左上角,水平向右为 X 轴,垂直向下为 Y 轴。课本中常见的坐标系是以图像中心为原点,水平向右为 X 轴,垂原创 2018-10-09 14:18:52 · 12693 阅读 · 0 评论 -
opencv基础知识及其一些例子
opencv官网一.插值法1.最近邻插值上图可看出f(p)=f(Q11),缺点可能出现明显的块状。2.线性插值3.双线性插值通过线性插值确定R1和R2,最终在确定P二.cv2.putText 图片添加文字import cv2img = cv2.imread('caijian.jpg')font = cv2.FONT_HERSHEY_SIMPLEXimgzi = cv2.putText(img, '000', (50, 300), font, 1.原创 2018-10-05 17:46:03 · 1332 阅读 · 0 评论 -
图像变换dpi(tif->jpg),直方图均衡化,腐蚀膨胀,分水岭,模板匹配,直线检测
一,图像变换dpiimport numpy as npfrom PIL import Imageimport cv2def test_dp(): path='./gt_1.tif' # img=Image.open(path) # print(img.size) # print(img.info) img=cv2.imread(path) ...原创 2018-07-28 01:07:20 · 829 阅读 · 0 评论 -
opencv--图像金字塔
一,高斯金字塔--图片经过高斯+下采样"""高斯金字塔"""def gauss_pyramid(): img = cv2.imread('./data/img4.png') lower_reso = cv2.pyrDown(img) lower_reso2 = cv2.pyrDown(lower_reso) plt.subplot(131), plt.i...原创 2018-07-28 00:55:05 · 303 阅读 · 0 评论 -
opencv图像处理中的一些滤波器+利用滤波器提取条形码(解析二维码)+公交卡倾斜矫正+物体尺寸丈量
一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像中的细节信息也主要集中在其高频部分,因此,如何去掉高频干扰同时又保持细节信息是关键。为了去除噪声,有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。图像平滑包括空域法和频域法两大类。在空域法中,图像平滑的常用方法是采用均值滤波或中值滤波。对于均值滤波,它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应的图...原创 2018-07-27 23:56:07 · 1197 阅读 · 0 评论 -
传统手工特征--opencv
一,颜色特征:简单点来说就是将一幅图上的各个像素点颜色统计出来,适用颜色空间:RGB,HSV等颜色空间,具体操作:量化颜色空间,每个单元(bin)由单元中心代表,统计落在量化单元上的像素数量量化颜色直方图(HSV空间)缺点:稀疏,量化问题聚类颜色直方图:适用颜色空间:Lab等颜色空间操作:使用聚类算法对所有像素点颜色向量进行聚类单元(bin)由聚类中心代表...原创 2018-07-31 23:21:08 · 9306 阅读 · 1 评论 -
haar级联分类器--人脸检测和匹配
分类器链接,https://download.csdn.net/download/fanzonghao/10582586代码:import numpy as npimport cv2# 实例化人脸分类器face_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface_default.xml')...原创 2018-08-03 22:33:03 · 5324 阅读 · 0 评论