2020-02-03 13:44:50
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
string convertToString(double d);
int main(int argc, char*...
2020-02-03 10:16:17
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src, dst;
src = imr...
2020-02-03 09:17:49
这一课讲了两个直方图有关的理论,重点在理论知识。即:什么是直方图、直方图均衡化。勇哥很欣赏贾志刚老师的讲课,理论与实践结合,许多理论都丰富了勇哥对halcon算子的认识。在之前,学习halcon主要精力都是在学习算子怎么用,从来没可能了解它的基础理论,现在贾志刚老师这套opencv的教程则可以反哺halcon的基础理论。演示程序:#include <opencv2/opencv.hpp>...
2020-02-02 20:42:01
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int index = 0;
Mat src, dst,mapx,mapy;
void updateMap(void)...
2020-02-02 16:48:58
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src, dst;
src = imr...
2020-02-02 15:52:01
找线找圆是勇哥感兴趣的话题,在机器视觉里面,没有这个功能是没办法干活的。不过,遗憾的是,勇哥按照视频里面做,曝出下面的错误。花了几个小时网上求解,不得解,郁闷!只能暂时先把贴子写下去,有解决办法再回来补充贴子了!补注:2020/2/2勇哥发现错误的原因了,我把HoughLinesP写成了HoughLines,后者是老手用的,所说要自己反变换到平面空间(暂时不懂这个)。演示代码:#include &...
2020-02-02 11:10:39
Canny算子的原理是比较复杂的,勇哥听了几遍都没搞明白。唉,还是先学会怎么用吧。演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int t1_value = 50;
int max_value = 255;...
2020-02-02 10:21:34
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/girl.pn...
2020-02-02 09:47:17
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst2,dst3,dst4,dst5,dst6,dst7;...
2020-02-02 07:29:13
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/bobdert...
2020-02-01 22:09:14
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst2,dst3,dst4,dst5,dst6;
src...
2020-02-01 20:43:18
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
Mat src, gray_src, dst;
int threshold_value = 127;
int threshold_max = 255;
int...
2020-02-01 19:03:43
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/5.png&q...
2020-02-01 18:08:07
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst2,dst3,dst4;
src = imread(&...
2020-02-01 15:28:30
OpenCV的形状学算子morphologyEx,包括了常见的:开运算闭运算梯度顶帽黑帽等操作。演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {...
2020-02-01 14:47:06
膨胀与腐蚀是形态学操作中的一种,是比较有用的。在halcon机器视觉中也是常用操作。请看演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
Mat src, dst;
void CallBack_Demo(int...
2020-02-01 11:22:54
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst1,dst2,dst3;
src = imread(&...
2020-01-31 19:26:37
绘制形状比较简单,基本上没啥子好说的,见代码。演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
Mat bgImage;
const char* drawdemo_win = "draw shapes and...
2020-01-31 19:01:29
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/5.png&q...
2020-01-31 18:07:24
图像混合的原理理论-线性混合操作其中 a的取值范围为0~1之间对应的opencv算子是 addWeighted()参数1:输入图像Mat – src1参数2:输入图像src1的alpha值参数3:输入图像Mat – src2参数4:输入图像src2的alpha值参数5:gamma值参数6:输出混合图像注意点:两张图像的大小和类型必须一致才可以演示代码:#include <opencv2/op...
2020-01-30 09:29:56
Mat对象介绍Mat对象是从OpenCV2.0引入的对象,处理的对象其实是二维像素数组。就像OpenCV官方教程中说的,下图中的车在CCD中看到的其实是一个二维的数组。Mat这个对象集成了一些操作这个数组数据的方法。最初的opencv版本中,和Mat功能相似的是数据结构 lIplImage。lIplImage是从2001年OpenCV发布之后就一直存在,是C语言风格的数据结构,
需要开发者自己分...
2020-01-29 13:32:09
勇哥的测试平台是vs2019+opencv3.1,下面的代码可用。功能是打开usb摄像头,并保存每帧图片。#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include<ios...
2020-01-29 11:11:05
下面的代码实现图像对比度的调整。效果见后面的图片。其实勇哥认为这个实现的是图片锐化效果,如果用photoshop来做对比,实现的就是锐化滤镜的效果。而photoshop的对比度效果与这个是是不同的。代码说明:(1)注释的代码用来操作图片中的像素。这也是数据类型Mat的一个功能。CV_Assert(myImage.depth() == CV_8U);
Mat.ptr<uchar>(...
2020-01-28 21:47:22
先上代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/3.png&q...
2020-01-28 15:16:35
在官网 www.opencv.org 上下载 这是一个比较老的版本。本系列学习笔记使用的这个版本。下面是opencv的简单介绍。下面说明一下opencv加上vc++开发环境的配置。首先按下面的说明添加vc++的库,包含目录,依赖项。这里勇哥使用的是vs2019集成环境下的vc++。接下来用一段代码验证一下opencv开发环境是否搭建成功。#include <opencv2/opencv.h...
2020-01-20 08:53:03
所谓标定后的对位方式,指的是应用标定的结果进行实践取放料的方法。标定只是负责准确的把视觉坐标系中的每个点正确的映射到机器人坐标系中的对应的唯一坐标上去。而标定后的对位则是负责准确取放过程的实现方法。本文讨论的的标定后对位方法一,适合固定位拍照的视觉系统。它的动作方式是:机器人走避让位,CCD拍照视觉求出机器人的修正坐标,机器人修正姿式机器人取料,在放料位走一个固定的示教点进行放料在这个过程中,CC...
2020-01-19 21:08:57
勇哥在装完Visionpro8.3后,vs2013中的C#环境中工具中,就会出现Visionpro的各类控件。(但是在vs2017中却没有出现控件,可能是因为8.3版太老的原因吧?!)我们新建一个.net winform的工程,把CogRecordDisplay控件拖到窗体上面。然后敲入下面代码:using Cognex.VisionPro.ImageFile;
using System;
u...
2020-01-19 16:21:38
目录1 任务与目的2 方案总体设计3 C#界面设计4 OpenCVSharp功能实现5 打包与运行6 总结1 任务与目的本次任务是设计一个能够实现OpenCV部分功能的图像处理软件。目的在于方便图像处理人员在具体编写OpenCV程序前,提前能够对图像进行简单处理,进而帮助开发人员分析该如何对图像进行处理。使用C#对界面和逻辑进行开发。界面开发的工具有很多,例如使用C++与QT进行开发。OpenCV...
2020-01-19 16:11:56
最近接了个小毕设,要求用winform调用OpenCV识别一些简单的物件。网上关于调用DLL的文看的我一头雾水,而且也知道有类似OpenCV的C#接口的计算机视觉库,也就直接去了解这方面了。EmguCV应该是比较早且之前比较出名的C#版OpenCV,目前项目有507个stars。然而另一个日本人编写的类库已经有1200+的stars,并且在Visual Studio中下载量也已经超过了OpenCv...
2020-01-18 22:12:46
勇哥说下流程:(1) 启动应用程序向导。启动向导后的项目如下:下面的说明勇哥只谈重要的内容,其它的项目“下一步”即可。(2)这里你可以选择QuickBuild创建的工程,下面使用visionPro带的演示工程 : E:\Program Files\Cognex\VisionPro\samples\ApplicationWizard\QuickBuild2Jobs\QuickBuild2Jobs....