
机器视觉
文章平均质量分 50
Freestyle Coding
这个作者很懒,什么都没留下…
展开
-
gocv.Mat类型和image.Image互相转化
gocv中的Mat类型图像转换成image.Image类型,代码如下:/* Parameters: mat: gocv.Mat,原图像 format: string,要转换的类型格式,比如.png .jpeg Returns: img: image.Image 转换之后的图像 err: error*/func cvtMatToImage(mat gocv.Mat, format string) (img image.Image, err error) { // 把mat转成字节,原创 2021-04-26 12:46:13 · 2645 阅读 · 0 评论 -
[机器视觉]gocv图像水平投影和垂直投影
文章目录1. 水平投影和垂直投影2. 投影原理3. 代码实现1. 水平投影和垂直投影图像水平投影和垂直投影效果如下图所示:原图:水平投影:垂直投影:2. 投影原理投影原理很简单,比如水平投影,就是水平方向,把每一行的像素累加起来,然后绘制成图像。垂直投影就是,垂直方向,把每一列的像素累加起来,然后绘制成图像。投影的感觉有点像就是把图片水平方向或者垂直方向压缩了一样。3. 代码实现代码实现就是先把图像转成数组,然后遍历数组,如果是水平投影,需要计算每一行的像素累加,如果是垂直投影,原创 2021-04-06 18:39:49 · 4085 阅读 · 0 评论 -
gocv截取图片的部分
gocv截取图片C++的opencv库是可以直接截取某个图片的部分的,比如:Mat src = imread("image.png");Rect crop(1, 1, 64, 67);Mat rez = src(crop);如上代码,读取image.png并截取其中的矩形部分。但是gocv中的Mat并没有像C++那样的构造方法,传入一个矩形Rect就可以构造一个Mat。Google了一下,发现Github上面有人提了issue,正是我想要的答案:https://github.com/hybr原创 2021-04-06 18:26:35 · 1408 阅读 · 0 评论 -
【机器视觉】gocv均值滤波、中值滤波、高斯边缘检测
文章目录1. 用到的API2. 效果展示3. 完整代码:1. 用到的API功能用到的API图片添加文字gocv.PutText()均值滤波gocv.Blur()中值滤波gocv.MedianBlur()高斯滤波gocv.GaussianBlur()高斯边缘检测gocv.Laplacian()详细的用法可以查看官方文档:https://pkg.go.dev/gocv.io/x/gocv#section-documentation2. 效果展示原创 2021-03-15 10:39:13 · 898 阅读 · 0 评论 -
【机器视觉】gocv阈值分割、图像按位反色、提取图像边缘
文章目录1. 用到的API2. 效果展示3. 完整代码1. 用到的API功能用到的API读取图片gocv.IMRead()写入图片gocv.IMWrite()阈值分割gocv.Threshold()图像按位反色gocv.BitwiseNot()提取图像边缘gocv.Canny()详细的用法可以查看官方文档:https://pkg.go.dev/gocv.io/x/gocv#section-documentation2. 效果展示原图片:原创 2021-03-15 10:31:45 · 1239 阅读 · 2 评论