图像处理(机器视觉项目)
cj1064789374
大佬们多多指教
展开
-
OPENCV盲打手撕代码默写练习-形态学
#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;Mat g_srcImage, g_dstImage;int g_nElementShape = MOR...原创 2019-03-26 23:36:12 · 164 阅读 · 0 评论 -
OPENCV盲打手撕代码默写练习-模糊边缘
#include <bits/stdc++.h>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;void sobel(Mat src){ Mat grad_x, grad_y,abs_grad_x, abs_grad_y,sobel_dst; Sobel( sr...原创 2019-03-26 22:49:21 · 178 阅读 · 0 评论 -
OPENCV盲打手撕代码默写练习-二值化
#include <bits/stdc++.h>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;Mat src,dst;int val=50,typ=0,max_val=255;void call_back(int,void*){ threshold(src,dst...原创 2019-03-26 22:38:42 · 129 阅读 · 0 评论 -
底层处理——图像处理总结 第二部分
原创 2019-05-08 20:17:33 · 288 阅读 · 0 评论 -
特征检测——OPENCV算法 第一部分
原创 2019-05-08 20:20:39 · 115 阅读 · 0 评论 -
亚像素点求解思想
因为点阵图中最小单元是像素,但有时候一个点的中心(图像中不会是一个强边缘的点,而是一个向四周渐弱的光斑),或者说一个圆,他的中心可能会落在像素之间,那么他的坐标应该如何确定呢?定义一个高斯模板来遍历图像并进行卷积(可以考虑使用多尺度卷积多次),保留卷积得到较大特征值的区域,然后对每个区域,构造模型为卷积图像与原图像的残差平方和,再对该区域的模型函数进行各个参数的求导,包括像素坐标,背景灰度,中...原创 2019-05-25 16:50:54 · 1232 阅读 · 0 评论 -
骨骼化
第一种:Zhang并行算法(个人表示来搞笑的)p1 p2 p3p8 p1 p4p7 p6 p5一次细化算法份两次迭代第一次删去满足下列三个条件的点2<= p2+p3+p4+p5+p6+p7+p8+p9<=6(0孤立点1端点78内部点)p2->p9的排列顺序中,01模式的数量(这里假设二值图非零值为1)为1P2*p4*p6 = 0且p4*p6*p8 = 0(移去东...原创 2019-05-27 21:46:13 · 1323 阅读 · 1 评论 -
机器视觉标定课设QT+OPENCV
gg.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = ggTEMPLATE = appDEFINES += QT_DEPRECATED_WARNINGSCONFIG += c++11SOURCES += \ about.cpp \ main...原创 2019-05-27 13:12:13 · 1653 阅读 · 1 评论 -
opncv3在codeblock与qt5中配置方法
codeblock配置opencv方法:工程build option弹出对话框后linker settings中写入:lib下全部文件.dll.asearch directories-complier中写入:include及其下两个目录search directories-linker中写入:bin目录至此完成,可以调用opencv函数,注意现在是用64位编绎器的,另外opencv,cma...原创 2019-05-02 10:55:44 · 275 阅读 · 0 评论 -
机器视觉标定课设VS(MFC)+OPENCV
使用方法:创建win32空项目(不是控制台),右击项目选属性--常规--MFC--的使用--共享DLL中,然后导入下面十个文件一、transform.h#pragma once#ifndef TRANSFORM_H#define TRANSFORM_H#endif // TRANSFORM_Hvoid DoubleToString(double xx, int n, char* ...原创 2019-07-02 17:04:45 · 255 阅读 · 0 评论 -
OPENCV盲打手撕代码默写练习-矩阵操作+简单二值化找轮廓
#include <bits/stdc++.h>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;Mat src1,ROI,src2,dst,tmp;int now_val=50;void call_back(int,void*){ double percent=(d...原创 2019-03-23 23:48:21 · 136 阅读 · 0 评论 -
颜色模式
三原色 Red红色 Green绿色 Blue蓝色 印刷四原色:RGB的三间色+黑色 Cyan青色 Magenta品红色 Yellow黄色 blacK黑色HSV色彩空间 Hue色相(属哪个色块) Saturation饱和度(高则纯低则都灰) Value明度(亮度,高则白低则黑) YUV颜色...原创 2019-03-23 19:06:50 · 206 阅读 · 0 评论 -
opencv第九章
直方图的意义:图像中像素强度分布的图形表达方式,它统计了每一个强度值所具有的像素个数H-S二维直方图#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"using namespace cv;int main( ){//画色调与饱和度的直方图 //【1】载入源图,转化为HSV颜...原创 2019-03-04 01:00:38 · 174 阅读 · 0 评论 -
opencv第一章
#include <opencv2/opencv.hpp> //头文件using namespace cv; //包含cv命名空间int main( ){ Mat srcImage = imread("1.jpg"); // 【1】读入一张图片,载入图像 imshow("【原始图】",srcImage); // 【2】显示载入的...原创 2019-03-03 08:16:26 · 119 阅读 · 0 评论 -
opencv第二章
//连续自适应的MeanShift算法#include "opencv2/video/tracking.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include <iostream>#include <ctype.h>using namesp...原创 2019-03-03 09:37:19 · 247 阅读 · 0 评论 -
opencv第三章
生成透明通道及写出#include <vector>#include <stdio.h>#include<opencv2/opencv.hpp>using namespace cv;using namespace std;//--------------------------------【createAlphaMat( )函数】---------...原创 2019-03-03 10:18:27 · 227 阅读 · 0 评论 -
opencv第四章
mat的输出风格#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include <iostream>using namespace std;using namespace cv;static void ShowHelpText(){ printf("\n\n\n\t欢迎来到【基...原创 2019-03-03 11:00:42 · 275 阅读 · 0 评论 -
opencv第五章
颜色空间缩减(关键是缩减思想)#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>using namespace std;using namespace cv;void colorReduce(Mat& inputI...原创 2019-03-03 12:50:09 · 187 阅读 · 0 评论 -
opencv第六章
请先理解好上一章的傅里叶变换,图像的高低频再来研究本章本章先讲方框滤波,均值滤波,高斯滤波,再讲中值滤波,双边滤波方框与均值#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"using namespace cv;i...原创 2019-03-03 18:14:38 · 169 阅读 · 0 评论 -
opencv第七章
本章开始才是真正的难点开篇边缘检测:canny,sobel,laplacian,scharr更正一下,上面的GX,GY是算子乘上原图区域之得后得到的梯度结果,就是说右边差了个再乘上原图这个算法搜索所有连通的弱边缘,如果一条连通的弱边缘的任何一个点和强边缘点连通,则保留这条弱边缘,否则抑制这条弱边缘。搜索时可以用广度优先或者深度优先算法。其中最容易的深度优先算法,一次连通一条...原创 2019-03-03 21:58:54 · 302 阅读 · 0 评论 -
opencv第八章
找轮廓#include <opencv2/opencv.hpp>#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"using namespace cv;using namespace std;int main( int argc, char** argv ){ Mat ...原创 2019-03-03 23:06:45 · 247 阅读 · 0 评论 -
opencv第十章
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>using namespace cv;using namespace std;#define WINDOW_NAME "【Shi-Tomasi角点检测】" ...原创 2019-03-04 07:08:45 · 156 阅读 · 0 评论 -
opencv第十一章
本章内容:sift,surf,flann,orb——本章只有opencv2的例程,就不放上来了注意sift与surf的算法区别,前者变图,后者变高斯核及滤波器大小确定特征点用海赛矩阵简单来说:用邻域harr特征总和大小来确定局部方向flann是快速最近邻搜索包,常用算法:随机k-d树算法,优先搜索k-means树算法,层次聚类树...原创 2019-03-04 07:41:56 · 168 阅读 · 0 评论 -
机器视觉概念复习
机器视觉概念复习Camshift:1、选中物体(人工或采用别的算法)2、求其反向投影图(HSV模式下H分量大小为h的概率或像素个数去替换图中对应像素)3、根据反向投影图和输入的方框进行meanshift迭代(求零阶矩M00,一阶X矩M10,一阶Y矩M01,质心为(M10/M00,M01/N00),窗口宽度s=sqrt(M00/256),长度1.2s)至质心间的移动距离小于预设的固定...原创 2020-05-16 21:49:23 · 737 阅读 · 0 评论