- 博客(15)
- 收藏
- 关注
原创 opencv掩码操作-滤波
#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>#include<iostream>using namespace std;using namespace cv;//图像掩码的...
2019-02-27 13:32:23 406
原创 opencv实现双线性插值
双线性插值原理如下图:编程如下:#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>#include<iostream>using namespace std;using...
2019-02-27 11:30:07 1991
原创 opencv实现最大熵求解
#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>#include<iostream>using namespace std;using namespace cv;//计算给定阈...
2019-02-26 19:19:35 744
原创 opencv中直方图操作
灰度直方图主要用到如下函数:void calcHist(const Mat* arrays, int narrays, const int* channels, InputArray mask, SparseMat& hist, int dims, const int* histSize, const float** ranges, bool uniform=true, bool ac...
2019-02-26 18:27:06 567
原创 opencv阈值法实现
前一个博客写了Otsu算法的实现,这个博客接着写opencv中自带的阈值实现方法:threshold以及adaptiveThreshold的应用。threshold( const Mat& src, Mat& dst, double thresh,double maxVal, int thresholdType );void adaptiveThreshold( Inpu...
2019-02-18 20:35:25 774
原创 opencv实现otsu算法
int OTSU(Mat src){ int col = src.cols; int row = src.rows; int threshold = 0; //初始化统计参数 int nSumPix[256];//每个像素值的数目 float nProDis[256]; for (int i = 0; i < 256; i++) { nSumPix[i] = 0; ...
2019-02-18 19:51:56 1101
原创 opencv将多张图像放在一张大图里
#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>#include<cmath>#include<iostream>#include<vector>usi...
2019-02-18 12:27:39 4300
原创 opencv中Mat、Size、Point等出现的行列对应问题
int main(){ Mat src(5, 6, CV_8UC1); cout << src << endl; cout << "src.rows" << src.rows << endl; cout << "src.cols: " << src.cols &am
2019-02-18 11:46:28 1909 1
原创 opencv遍历图像像素方法总结
#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>#include<cmath>#include<iostream>#include<vector>usi...
2019-02-16 19:10:40 999
原创 opencv中createTrackbar函数的使用
#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>#include<cmath>#include<iostream>#include<vector>usi...
2019-02-16 18:11:25 646
原创 opencv鼠标调用函数
opencv可以通过鼠标来执行一些操作,主要用到setMouseCallback这个函数,函数的具体形式如下: void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0) winname:窗口的名字 onMouse:鼠标响应函数,回调函数。指定窗口里每次鼠标...
2019-02-16 17:53:23 401
原创 opencv中视频的读取和写入
主要使用VideoCapture类读视频,VideoWriter类写视频,这两个类在highgui头文件中。读视频有两种方法。//方法一VideoCapture capture;// 读取视频文件capture.open("..\\images\\car.avi");// 判断视频流读取是否正确if(!capture.isOpened()){ std::cout <...
2019-02-14 17:55:11 526
原创 opencv中getAffineTransform、getRotationMatrix2D以及warpAffine用法
int main(){ cv::Mat srcImage = cv::imread("E:\\研究生\\学习材料\\学习书籍\\OpenCV图像处理编程实例-源码-20160801\\《OpenCV图像处理编程实例-源码-20160801\\images\\hand1.jpg"); if (!srcImage.data) return -1; cv::imshow("srcImage...
2019-02-14 17:02:52 1489
原创 opencv中step、step1、size、elemSize以及elemSize1区别
int main(){ int matSize[] = {3,4,5}; //mat1有3维,3个面,4行5列组成一个面 Mat mat1(3,matSize,CV_16UC3,Scalar::all(0)); //step[i]表示每一维元素的大小,单位字节 cout << "step[0]: " << mat1.step[0] << endl;...
2019-02-14 16:20:29 910
转载 opencv中getRotationMatrix2D函数原码
cv::Mat cv::getRotationMatrix2D( Point2f center, double angle, double scale ){ angle *= CV_PI/180; double alpha = cos(angle)*scale; double beta = sin(angle)*scale; Mat M(2, 3, CV_64...
2019-02-14 15:42:58 1297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人