2024-11-22 13:54:02
smallest_rectangle1(Regions : : : Row1, Column1, Row2, Column2)功能:返回平行坐标最小外包矩形该算子计算返回输入区域的平行于坐标系的最小外包矩形。该最下外包是关于区域中心计算的最小平行外包。返回参数:Row1, Column1:矩形中心点的坐标。 Row2, Column2:矩形右下较的点坐标。smallest_rectangle2 (...
2024-05-07 17:00:29
从今天开始每天学习halcon软件。本博客中所用版本均为halcon11.0。第一种方法ImagePath:=[]ImagePath[0]:='E:/images1/a000.bmp'ImagePath[1]:='E:/images1/a001.bmp'ImagePath[2]:='E:/images1/a002.bmp'ImagePath[3]:=...
2023-08-29 11:12:22
带ROI跟随的找边,是机器视觉中最常用的功能。如果各位对勇哥这段代码有疑问,欢迎留言讨论。载入第一张图片,执行找边的结果。载入第二张图片,角度与位置与上张不同。可以看到ROI是跟随的,执行找边。这里勇哥没有再找第二条边,因为方法是一样的,就不重复了。完整测试代码如下:找边的算子find_line是个外部过程,其代码见勇哥另一个贴子:Halcon学习(27-2)halcon测量技术:找线在这个找边的...
2022-11-06 09:59:27
勇哥注:
这个系列是勇哥的小娱乐。这么多年来感觉自己就是工作机器,没有一点属于自己的乐子。
突然想到儿时的小梦想是写个fc的坦克大战。要不,先弄个AI,让它自动玩坦克大战吧。fc的坦克大战是fc模拟器的游戏,要做自动打怪的AI,可以考虑连续窗口截图,然后交由halcon进行处理。处理结果交由策略代码处理,最后发布手柄控制指令。因此,首先先要考虑窗口的连续帧如何实时截取,然后就是如何实现虚拟...
2020-04-09 20:16:06
以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等。打算从事这个行业或者刚入门的朋友可以多关注这些网站,多了解一些CV的具体应用。搞研究的朋友也可以从中了解到很多牛人的研究动态、招生情况等。总之,我认为,知识只有分享才能产生更大的价值,真诚希望...
2020-02-03 16:29:30
模板匹配是机器视觉里面最重要的内容之一,如果没有它,像一些定位的案子就没办法开展了。这个是需要重点研究的话题。演示代码:完全引用下贾志刚老师的代码。从效果上来看,完全没有办法和halcon的模板匹配进行比较,这个真是让人沮丧的结果。难怪群里有些朋友说,OpenCV的模板匹配想要实用,需要自己写算法。#include <opencv2/opencv.hpp>
#include <...
2020-02-03 14:25:01
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
Mat src; Mat hsv; Mat hue;
int bins = 12;
void Hist_And_B...
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...