opencv
文章平均质量分 58
vqt5_qt6
从事qt c++开发8年,擅长opencv opengl linux等 昵称即V
展开
-
树莓派安装c++版本opencv
在官网(Releases - OpenCV)下载opencv的压缩包,选择你需要的版本 我下载的是3.4.8。cd build #如果make失败了,可以删掉build目录,改正问题后重新编译。创建编写一小段demo test_opencv.cpp 读取摄像头视频。mkdir build #新建一个build目录,一切操作均在build目录下。sudo make这一步非常耗时间,你可以去处理手边其他的事。之后解压缩 ,进入opencv目录。原创 2023-03-21 23:19:37 · 1107 阅读 · 1 评论 -
c++全景图像拼接
拼接前拼接后#include <fstream>#include <opencv2\highgui\highgui.hpp>#include <opencv2\stitching.hpp>#include <iostream>using namespace cv;using namespace std;vector<Mat> imgs; //保存拼接的原始图像向量//导入所有原始拼接图像函数void parseCmd原创 2020-10-15 18:25:53 · 2084 阅读 · 0 评论 -
adaptiveThreshold自适应二值化源码分析
自适应二值化介绍:二值化算法是用输入像素的值I与一个值C来比较,根据比较结果确定输出值。自适应二值化的每一个像素的比较值C都不同,比较值C由这个像素为中心的一个块范围计算在减去差值delta得到。C的常用计算方法有两种: 1.平均值减去差值delta(使用盒过滤boxfilter,性能会非常不错) 2.高斯分布加权和减去差值delta (使用高斯滤波GaussionBlur原创 2017-11-10 17:08:24 · 370 阅读 · 0 评论 -
opencv关于椭圆检测
第一种:#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"#include using namespace cv;using namespace std;int sliderPos = 70;Mat image;void processImag原创 2017-09-26 11:15:24 · 2537 阅读 · 1 评论 -
opencv关于直线检测,基于opencv
linefinder.h文件#ifndef LINEFINDER_H#define LINEFINDER_H#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#includeclass LineFinder{private: cv::Mat img; // origina原创 2017-08-25 09:28:15 · 336 阅读 · 0 评论 -
opencv颜色检测
main.cpp#include "mainwindow.h"#include #include #include #include #include #include #include #include "colordetector.h"#include "opencvcolordetector.h"using namespace cv;int main(int ar原创 2017-07-19 17:28:58 · 1833 阅读 · 0 评论 -
opencv减色算法
#include "mainwindow.h"#include #include #include #include #include #include #include using namespace cv;void colorReduce(cv::Mat image, int div=64) { int nl= image.rows; // 行数 //原创 2017-07-19 16:26:32 · 526 阅读 · 0 评论 -
opencv对每个像素进行操作
#include "mainwindow.h"#include #include #include #include #include #include #include using namespace cv;void salt(cv::Mat image, int n) { int i,j; for (int k=0; k<n; k++) {原创 2017-07-19 15:58:18 · 441 阅读 · 0 评论 -
opencv在图像上作画
Mat image; // image= imread("C:\\Users\\Administrator\\Desktop\\QTsucai\\result.jpg",CV_LOAD_IMAGE_GRAYSCALE); // 读取输入图像 if(image.empty()){ return 0; } cv::circle(image, // 目标原创 2017-07-19 15:48:58 · 430 阅读 · 0 评论 -
QT之opencv人脸识别,瞳孔检测
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include #include namespace Ui {class MainWindow;}using namespace cv;class MainWindow : public QMainWindow{ Q_OBJECTpublic:原创 2017-07-20 16:49:16 · 1217 阅读 · 0 评论 -
opencv采集图像并进行轮廓检测
#include "stdafx.h"#include #include #include using namespace std;using namespace cv;int main(){ char c; VideoCapture inputVideo(0); //0为外部摄像头的ID,1为笔记本内置摄像头的ID Mat src; for (;;)原创 2017-06-15 15:18:00 · 765 阅读 · 0 评论 -
opencv使用detectMultiScale报错原因
今天用detectMultiScale去检测人脸识别,总是报错最终发现错误的源头尽然是:cascade.detectMultiScale(grayImage, rect, 1.1, 2, 0); // 分类器对象调用 使用上面的代码:总是报错,还找不到原因。而且断点总是出现在这里最后发现其实根本不是这里的问题:而是cascade.load("haarcascade_原创 2017-06-22 17:32:39 · 7148 阅读 · 8 评论 -
基于opencv查看图像各像素点的RGB值
#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"#include #include using namespace cv;using namespace std;Mat image;int main( int argc, char** arg原创 2017-10-11 15:41:07 · 3176 阅读 · 0 评论 -
opencv图像去阴影
#pragma execution_character_set("utf-8")/*! @file 重庆予乔 @author 陈强灵 @date 2018/9 @brief 软硬件定制开发 Q.Q:609162385 @https https://blog.csdn.net/cqltbe131421 @verbatim <...原创 2019-10-01 09:49:37 · 498 阅读 · 0 评论 -
opencv 将Mat类型从CV_32F转CV_8U
最近遇到mat转换所以记录一下1,如果直接convertTo转换的话,转换出来的就是一块黑,什么也没用 Mat src = imread(imagepath.toStdString().c_str(), 0); cv::Mat butterworth = Butterworth_Low_Paass_Filter(src, 100, 2); butter...原创 2019-06-27 18:27:36 · 1099 阅读 · 0 评论 -
opencv通道分离组合直方图均衡处理
int EqualizeHist(char*path){ int i; IplImage* src = cvLoadImage( path, 1 ); IplImage* imgChannel[4] = { 0, 0, 0, 0 }; IplImage* dst = cvCreateImage( cvGetSize( src ), IPL_DEPTH_8U, 3 ); if( sr...原创 2019-06-21 16:19:18 · 168 阅读 · 0 评论 -
opencv四种像素数据读取方式
QQ:609162385https://blog.csdn.net/cqltbe131421直接上代码:Mat MainWindow::applyLookUp(const cv::Mat& image, const cv::Mat& lookup) { Mat result; cv::LUT(image, lookup, result); return...原创 2018-12-29 16:12:49 · 137 阅读 · 0 评论 -
OPencv直接打开raw图片文件并查看像素
opencv并不能直接打开raw图像文件,所以这里我们要进行图像数据的拷贝;这里是基于QT的直接上代码:static quint8 v4l2ConstantFrame[INPUT_VIDEO_W*INPUT_VIDEO_H*1];static quint8 v4l2ConstantFrame1[INPUT_VIDEO_W*INPUT_VIDEO_H*1];bool MainWindo原创 2018-03-14 11:27:36 · 3753 阅读 · 0 评论 -
OpenCV简单的操作实例程序
//-----------------------------------【头文件包含部分】---------------------------------------// 描述:包含程序所依赖的头文件//-----------------------------------------------------------------------------------------原创 2018-01-27 15:05:57 · 310 阅读 · 0 评论 -
光学镜片之焦度计测量算法
算法测试界面算法包括,透过率算法,棱镜度算法,柱镜度算法,棱镜角度,柱镜角度,球镜度算法,球镜正负,柱镜正负,pd测量,中心互差,中心位移,内移量测量等多种算法。测试程序基于opencv,qtQQ:609162385...原创 2019-03-31 20:45:10 · 937 阅读 · 1 评论 -
opencv 多圆查找
测试图片源代码:bool MainWindow::findAllContours(){ cv::Mat filteredImg; cv::Mat binariedImg; // cv::Mat destImg; vector> contours; vector hierarchy; fileName = QFileDial原创 2018-01-26 15:38:08 · 860 阅读 · 0 评论 -
opencv之WarpPerspective透视变化
// opencv2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/features2d/features2d.hpp" #include "原创 2017-04-05 17:05:39 · 2357 阅读 · 0 评论 -
opencv分rgb显示
// opencv2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/features2d/features2d.hpp"原创 2017-03-14 16:13:11 · 707 阅读 · 0 评论 -
opencv的cornerHarris函数
// opencv2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//-----------------------------------【程序说明】----------------------------------------------// 程序名称::《【OpenCV入门教程之十六】OpenCV角点检测之Harris角点检测原创 2017-03-08 17:10:59 · 1804 阅读 · 0 评论 -
opencv的SetMouseCallback函数
C++: void setMouseCallback(conststring& winname, MouseCallback onMouse, void* userdata=0 )第一个参数,const string&类型的winname,为窗口的名字。第二个参数,MouseCallback类型的onMouse,指定窗口里每次鼠标时间发生的时候,被调用的函数指针。这个函原创 2017-03-08 13:50:18 · 744 阅读 · 0 评论 -
opencv的floodFill函数
int main(){ Mat src = imread("test1.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; namedWindow("效果图窗口", 1);//定义窗口 Rect ccomp; floodFill(src, Point(50, 300), Scalar(155, 255, 55), &cco原创 2017-03-08 13:48:14 · 2730 阅读 · 0 评论 -
opencv的HoughCircles( )函数
int main(){ Mat src = imread("test1.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; namedWindow("效果图窗口", 1);//定义窗口 cvtColor(src, src1, CV_BGR2GRAY);//转化边缘检测后的图为灰度图 GaussianBlur(src1,原创 2017-03-08 13:43:38 · 15831 阅读 · 1 评论 -
opencv的HoughLinesP( )函数
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; namedWindow("效果图窗口", 1);//定义窗口 Canny(src, src1, 50, 200, 3);//进行一此canny边缘检测 cvtColor(src1, src2, CV_G原创 2017-03-08 13:15:55 · 5855 阅读 · 0 评论 -
opencv的HoughLines( )函数
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; namedWindow("效果图窗口", 1);//定义窗口 Canny(src, src1, 50, 200, 3);//进行一此canny边缘检测 cvtColor(src1, src2, CV_G原创 2017-03-08 13:07:43 · 7178 阅读 · 3 评论 -
opencv的pyrDown()函数
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; src1 = src; namedWindow("效果图窗口", 1);//定义窗口 pyrDown(src1, dst, Size(src1.cols / 2, src1.rows / 2)); i原创 2017-03-08 11:44:58 · 1844 阅读 · 0 评论 -
opencv的pyrUp()函数
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; src1 = src; namedWindow("效果图窗口", 1);//定义窗口 pyrUp(src1, dst, Size(src1.cols * 2, src1.rows * 2)); ims原创 2017-03-08 11:42:49 · 1357 阅读 · 0 评论 -
opencv的resize( )函数
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; src1 = src;//将原始图赋给临时变量 src2 = src;//将原始图赋给临时变量 namedWindow("效果图窗口", 1);//定义窗口 //进行尺寸调整操作 re原创 2017-03-08 11:39:58 · 1469 阅读 · 0 评论 -
opencv的scharr滤波器
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; namedWindow("效果图窗口", 1);//定义窗口 //使用高斯滤波消除噪声 //求 X方向梯度 Scharr(src, src1, CV_16S, 1, 0, 1, 0, BORDE原创 2017-03-08 11:16:26 · 1837 阅读 · 0 评论 -
opencv的Laplace算子
int main(){ Mat src = imread("test.jpg");//载入原始图 Mat src1, src2, src3, src4,dst; namedWindow("效果图窗口", 1);//定义窗口 //使用高斯滤波消除噪声 GaussianBlur(src, src2, Size(3, 3), 0, 0, BORDER_DEFAULT)原创 2017-03-08 11:06:49 · 421 阅读 · 0 评论 -
opencv重映射remap( )函数
int main(int argc, char** argv){ Mat srcImage, dstImage; Mat map_x, map_y; namedWindow("程序窗口"); //载入原始图 srcImage = imread("test.jpg", 1); //创建和原始图一样的效果图,x重映射图,y重映射图 dstImage.cre原创 2017-03-08 17:19:02 · 1086 阅读 · 0 评论 -
opencv放射warpAffine函数和getRotationMatrix2D函数
int main(int argc, char** argv){ Mat src = imread("test1.jpg", 1); //定义两组点,代表两个三角形 Point2f srcTriangle[3]; Point2f dstTriangle[3]; Mat rotMat(2, 3, CV_32FC1); Mat warpMat(2, 3, CV_原创 2017-03-09 09:25:33 · 3280 阅读 · 0 评论 -
opencv-Canny 边缘检测
int main(){ Mat src = imread("test.jpg"); Mat src1 = src.clone();//将格式赋值给src1 namedWindow("效果图窗口", 1); namedWindow("效果图窗口1", 1); Canny(src, src1, 150, 100, 3); imshow("效果图窗口", src1);原创 2017-03-07 17:24:02 · 390 阅读 · 0 评论 -
opencv各种运算
实例1int main(){ Mat image = imread("test.jpg"); namedWindow("运算前"); namedWindow("运算后"); imshow("运算前", image); waitKey(30); //获取自定义核 Mat element = getStructuringElement(MORPH_RE原创 2017-03-07 16:07:52 · 325 阅读 · 0 评论 -
opencv膨胀与腐蚀
int main(){ Mat image = imread("test.jpg"); namedWindow("膨胀前"); namedWindow("膨胀后"); imshow("膨胀前", image); //获取自定义核 Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));原创 2017-03-07 15:48:23 · 866 阅读 · 0 评论 -
opencv中值滤波-双边滤波
int main(){ Mat image = imread("test.jpg"); namedWindow("中值滤波"); namedWindow("中值滤波效果图"); imshow("中值滤波", image); waitKey(30); Mat out; //medianBlur(image, out, 7);//中值滤波 bilateral原创 2017-03-07 15:32:32 · 483 阅读 · 0 评论