视觉算法
文章平均质量分 52
Ring__Rain
这个作者很懒,什么都没留下…
展开
-
图像配准算法之demons算法
无原创 2022-08-08 09:38:17 · 1484 阅读 · 0 评论 -
拟合圆形_
源码:https://github.com/AlliedToasters/circle-fit 已经点了个star方法:1,hyper_fit(超拟合方法)2,least_squares_circle(最小二乘法)效果test.pyimport unittestimport timefrom circle_fit import hyper_fit, least_squares_circleimport numpy as npclass AppTest...原创 2021-08-25 13:36:13 · 2095 阅读 · 3 评论 -
最小二乘法拟合圆
转自:https://blog.csdn.net/liyuanbhu/article/details/50889951转载 2021-08-25 13:17:00 · 246 阅读 · 0 评论 -
【资源】深度学习缺陷检测
转自:https://bbs.cvmart.net/articles/571DEye (Keep an Eye on Defects Inspection)1. AbstractDefect Eye is an open source software library based on tensorflow1.4, which focus on surface defect inspection. The application area cover the full range of yiel转载 2021-08-02 15:28:21 · 621 阅读 · 0 评论 -
工业质检-缺陷检测数据集
文章转自https://www.jiqizhixin.com/articles/2020-10-25-3以备后用,非常感谢!目前, 基于机器视觉的表面缺陷装备已经在各工业领域广泛替代人工肉眼检测,包括3C、汽车、家电、机械制造、半导体及电子、化工、医药、航空航天、轻工等行业。传统的基于机器 视觉的表面缺陷检测方法,往往采用常规图像处理 算法或人工设计特征加分类器方式。一般来说,通常利用被检表面或缺陷的不同性质进行成像方案的设计,合理的成像方案有助于获得光照均匀的图像,并将物体表面缺陷明显的体现出来。近原创 2021-08-02 15:24:09 · 3616 阅读 · 0 评论 -
pytorch跑yolov5
1,下载yolov5的代码和模型https://github.com/ultralytics/yolov5https://github.com/ultralytics/yolov5/releases2,cd到代码的路径中,看看当前环境怎么样pip install -r requirements.txt3,detect,实验pytorch跑出来的结果python detect.py --weights=yolov5s6.pt4,训练,自己弄图啥的都行python trai原创 2021-07-28 10:29:27 · 371 阅读 · 0 评论 -
铝型材表面瑕疵识别比赛——代码啥的,参考
https://blog.csdn.net/qq_34739662/article/details/84145791?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-13.control&dist_request_id=1332042.22793.16193177347584099&depth_1-utm_source=distri原创 2021-04-25 10:41:01 · 539 阅读 · 0 评论 -
Pytorch版deeplabv3+环境配置训练自己的数据集
参考:https://blog.csdn.net/qq_36766560/article/details/110009622?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161594607816780266214828%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161594607816780266214828原创 2021-03-17 16:32:44 · 10280 阅读 · 10 评论 -
水平集LevelSet 分割图像
1、水平集的是一个很好的分割算法,其使用比较多的是医学图像领域。其有一些有点也有一些缺点其会计算图片的前景灰度、背景灰度。前景是灰度值大的目标,如果前景目标太小,则会导致其分割的不准确。其算法原理跟大津算法类似。其分割可以补偿一点缺失的边缘,这个特性很适合医学图像领域,因为医学图像很多噪点,边缘不明确的现象,还有一个优点是分割速度快。下面是一些例子:分割成功并补偿了缺失边缘的:分割失败:灯光条太小,其分割成的是整张图下面是水平集的原代码:levelset.hpp#i原创 2021-02-26 18:16:34 · 1993 阅读 · 1 评论 -
第二次报告
1,8邻域检测,弄出很黑的黑斑;问题:有误检,使用分类器,把有缺陷和误检分类出来。2,横向光滑背景,使用设计的滤波器,比方说长条形的中值滤波,求出背景;原图与背景做差得到缺陷结果。3,寻找直线,设计个滤波器,求梯度,梯度投影,寻找出最大的几处线位置,再这个x左右找梯度最大的位置。...原创 2021-02-26 17:52:27 · 107 阅读 · 0 评论 -
数钢筋
转自知乎:https://zhuanlan.zhihu.com/p/549519331 背景在现如今All in AI的背景中,越来越多的传统行业,开始加快数字化、智能化的进程,AI养猪、AI养鸡这样接地气的场景,也已经进入到落地、工业化的阶段。0110日,广联达在DataFountain发布了智能盘点—钢筋数量AI识别比赛比赛地址在工地现场,对于进场的钢筋车,验收人员需要对车上的钢筋进行现场人工点根,确认数量后钢筋车才能完成进场卸货。目前现场采用人工计数的方式,如图1-1中所示:...原创 2021-02-25 15:43:17 · 1928 阅读 · 0 评论 -
局部二值化 Sauvola二值化算法
借鉴:https://blog.csdn.net/wxplol/article/details/81239896?locationNum=13&fps=1原理:分块处理,根据当前块内的均值,方差等信息得出局部阈值;但担心有突变,分块不好怎么办呢?sauvola是一种考虑局部均值亮度的图像二值化方法, 以局部均值为基准在根据标准差做些微调.算法实现上一般用积分图方法来实现的.步骤1 计算区域像素积分和和积分平方和步骤2 计算标准差,标准差的计算方法为: std=sqrt((sqdi..原创 2021-02-04 16:27:59 · 2111 阅读 · 0 评论 -
图像修复
转自:https://blog.csdn.net/moxibingdao/article/details/107075598本文继去雨去雾去模糊篇和图像增强与图像恢复篇之后,继续盘点CVPR 2020 中低层图像处理技术,本篇聚焦于图像修复(Image Inpainting)。示例如下图:图片来自https://sites.google.com/site/gachoncvip/projects/image-inpainting上图中被污损的图像(左)被修复为图像(中),右图为参...原创 2020-12-22 15:25:07 · 5016 阅读 · 0 评论 -
图像质量评价
转自:https://blog.csdn.net/moxibingdao/article/details/107096783本文继去雨去雾去模糊篇、图像增强与图像恢复篇、图像修复Inpainting篇之后,继续盘点CVPR 2020 中底层图像处理技术中非常重要的一块:图像质量评价(Image QualityAssessment)。示例如下图:上面左图为原图,中间为经过JPEG2000压缩后的图,右图为高斯模糊后的图,从清晰度来讲,肯定第一幅图质量更高,质量评价就是给图像打分,即如...原创 2020-12-22 14:45:46 · 1965 阅读 · 0 评论 -
opencv提取背景
import cv2 as cv capture = cv.VideoCapture("D:/images/video/video_004.avi")mog = cv.createBackgroundSubtractorMOG2()se = cv.getStructuringElement(cv.MORPH_RECT, (3, 3))while True: ret, image = capture.read() if ret is True: fgmask = m.原创 2020-12-22 14:36:00 · 270 阅读 · 0 评论 -
cmake3.17.2+vs2015+opencv4.3编译
1.为什么要装opencv contribopencv只包含基本内容,如果需要用到surf特征提取等内容因为版权问题必须安装opencv_contrib2.安装需要的文件获取vs2015:https://visualstudio.microsoft.com/zh-hans/downloads/opencv:https://opencv.org/releases.html 我用的是opencv3.4.3版本,你可以选择自己喜欢的版本,但是要注意后期下载opencv_cont...原创 2020-05-22 17:30:01 · 327 阅读 · 0 评论 -
opencv4.0.1 qr二维码定位识别源码详解
参考:https://blog.csdn.net/weixin_40976602/article/details/88839426?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.non原创 2020-05-21 20:57:13 · 1482 阅读 · 0 评论 -
去光照不均匀
论文地址:http://journal.bit.edu.cn/zr/ch/reader/create_pdf.aspx?file_no=20160216&year_id=2016&quarter_id=2&falg=1Matlab代码:clc, close all; tic;im = imread('test.png'); figure; imshow(...原创 2020-05-07 20:38:49 · 813 阅读 · 0 评论 -
Opencv3.3-distanceTransform用于查找物体质心
定义void FindCenterWithDistanceTransform(cv::Mat src, cv::Point ¢erLoc, float &maxValue);void FindCenterWithDistanceTransform(cv::Mat src, cv::Point ¢erLoc, float &maxVal...原创 2020-04-20 19:33:06 · 311 阅读 · 0 评论 -
slam学习必备知识
结构光双目学会orb slam读几篇综述论文视觉里程计G20(图优化)多视几何原创 2020-04-06 21:47:14 · 170 阅读 · 0 评论 -
图像匹配算法 MAD、SAD、SSD、MSD、NCC、SSDA、SATD,LBD算法
图像匹配算法分为3类:基于灰度的匹配算法、基于特征的匹配算法、基于关系的匹配算法(1)基于灰度的模板匹配算法:模板匹配(Blocking Matching)是根据已知模板图像到另一幅图像中寻找与模板图像相似的子图像。基于灰度的匹配算法也称作相关匹配算法,用空间二维滑动模板进行匹配,不同匹配算法主要体现在相关准则的选择方面,常见的基于模板的匹配算法可以参考下面的链接:参考:http://bl...原创 2020-03-30 17:28:45 · 8314 阅读 · 0 评论 -
opencv 图像旋转与缩放 与翻转/镜像
// 图像旋转与缩放 // Author: www.icvpr.com // Blog: http://blog.csdn.net/icvpr #include <iostream>#include <vector>#include <opencv2/opencv.hpp> int main(int argc, char** arg...原创 2020-03-30 17:09:27 · 317 阅读 · 0 评论 -
求区域的最大内接矩形
采用中心往外扩张的方法,目前是特定的场景下使用。bool expandEdge(const Mat & img, int edge[], const int edgeID, bool EXPAND[]){ //[1] --初始化参数 int nc = img.cols; int nr = img.rows; switch (edgeID) { case 0: if (...原创 2020-03-26 16:07:34 · 4870 阅读 · 2 评论 -
表面缺陷检测的几种方法
location + blob + featurelocation + differ + featurefrequency domain + spatial domainphotometric stereocalibration + fittingtrain model ————————————————版权声明:本文为CSDN博主「莫干」的原创文章,...原创 2020-03-02 16:55:53 · 1425 阅读 · 1 评论 -
高度纹理图像中的mura缺陷——holcon
对应示例程序:detect_mura_defects_texture.hdev目标:实现高纹理图像中缺陷的检测(黑色)。思路为:1.对彩色图像进行R G B分解,选取B作为后续图像。2. 生成背景模板,将图像傅里叶变换到频域中,通过高斯滤波,然后傅里叶反变换回来,得到的图像就是背景模板。3 .背景差分。采用sub_image函数进行图像差分,增强两幅图像的差异4 .分水岭算法分割,在...原创 2020-03-02 14:28:41 · 1311 阅读 · 0 评论 -
Blob分析
Blob翻译成中文,是“一滴”,“一抹”,“一团”,“弄脏”,“弄错”的意思。在计算机视觉中的Blob是指图像中的具有相似颜色、纹理等特征所组成的一块连通区域。显然,Blob分析其实就是将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob快的过程。简单来说,blob分析就是在一块“光滑”区域内,将出现“灰度突变”的小区域寻找出来。举例来说,假如现在有一块刚生产出来的玻璃,表...原创 2020-03-02 14:12:26 · 1644 阅读 · 0 评论 -
基于频域的缺陷检测
基于频域的缺陷检测,是比较难理解的一部分,在纯看理论无法理解的情况下,可以通过先学习一些示例的学习,再回过头去重新理解理论。基于频域的缺陷检测示例解析:缺陷-傅里叶变换之划痕检测https://dwz.cn/WfCWrfKs理论-傅里叶 & 频域 & 滤波https://dwz.cn/J5wXHrOt检测-halcon中频域和空间域转换的两个重点算子https:/...原创 2020-03-02 12:38:41 · 829 阅读 · 0 评论 -
检测-基于频域的mura缺陷检测
dev_close_window ()dev_update_off ()Path := 'lcd/mura_defects_texture_'read_image (Image, Path + '01')get_image_size (Image, Width, Height)dev_open_window (0, 0, 640, 480, 'black', WindowHandle)...原创 2020-03-02 12:12:40 · 2555 阅读 · 1 评论 -
计算两幅图之间的旋转角
a、从图像中心向四周抛出射线,以0.1°为一格,共360°,3600个射线;b、计算每根射线所打到图像上的像素累计和,得到一个曲线,可称为一个方向向量。c、模板图和测试图的两个曲线之间的距离乘以0.1°,即为其两者之间的旋转角。如:原图:旋转了10°两个曲线...原创 2020-02-14 09:53:59 · 1486 阅读 · 0 评论 -
用遗传算法解决TSP问题
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法遗传算法的基本运算过程如下:a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。b)个体评价:计算群体P(t)中各个个体的适应度。c)选择运算:将选择算子作用于群体。原创 2018-01-22 14:18:37 · 2936 阅读 · 0 评论 -
TSP_旅行商问题 - 蛮力法DFS(一)
一、前言 【旅行商问题】旅行商问题(TravelingSalesmanProblem,TSP)是一个经典的组合优化问题。经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton回路。由于该问题的可行解原创 2018-01-22 15:21:37 · 5882 阅读 · 0 评论 -
BD视觉算法工程师笔试题
选择题1答案:D2答案:A 此代码为PHP语言。3答案:A4答案:D 当一个优先级高的线程进入就绪状态时,它只是有较高的概率能够抢到CPU的执行权,不是一定就能抢到执行权。 当前线程调用sleep()方法或者wait()方法时,只是暂时停止了该线程的运行,进入阻塞状态,不是终止线程。 当创建一个新的线程时,该线程也加入到了抢占cpu执行权的队伍中,但是是否能抢到,并不清楚。线程结束的三个原因: 1...原创 2018-03-13 19:27:35 · 322 阅读 · 0 评论 -
Visual Applet第一个程序
昨天装好了visualapplet,今天准备研究一下软件都有什么功能由于我的visualapplet是demo版的,很多功能实现不了,所以也就没有办法演示首先,file->new新建一个工程,输入名字,选择开发平台第二步,从右下角的operator library中选择需要的模块,我要用到的有CameraGrayAreaBase、ImageBuffer和DMAToPC这三个,选择好以后拖拽到...原创 2018-04-25 11:25:52 · 419 阅读 · 6 评论 -
图像匹配 一些基本算法
简介: 本文主要介绍几种基于灰度的图像匹配算法:平均绝对差算法(MAD)、绝对误差和算法(SAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)、序贯相似性检测算法(SSDA)、hadamard变换算法(SATD)。下面依次对其进行讲解。MAD算法介绍 平均绝对差算法(Mean Absolute Differences,简称MAD算法...原创 2018-05-03 15:15:35 · 1515 阅读 · 0 评论 -
图像融合
图像梯度域融合图像梯度域重建图像泊松编辑混合梯度融合彩色图像灰度化的问题图像梯度域重建-原理 该问题中心思想是利用梯度实现灰度图像的重建。为后面的问题作铺垫。 该问题用到了梯度与最小二乘的思想。 求矩阵v使e达到最小。 现在我们需要相对于源图像s重建一副灰度图像v,重建图像v的方向梯度应该与源图像s的方向梯度一致。这可以转化为最小二乘问题: 1) 最小化:( v(x+1,y)-v(x,y) - ...原创 2018-05-10 11:19:39 · 1911 阅读 · 2 评论 -
cuda实现中值滤波
.cu文件#include "MedianBlur.h"#include "cuda_runtime.h"#include "device_launch_parameters.h"typedef unsigned char uchar;const unsigned int BLOCK_W = 8;const unsigned int BLOCK_H = 8;__global__...原创 2018-05-21 14:41:08 · 4134 阅读 · 0 评论 -
我的CUDA学习之旅1——大图像分块处理程序(包括求均值,最大值等)
引言在我的第一篇文章中我简单介绍了CUDA以及我的一些个人学习见解,在本文中我将开始正式开始CUDA实践之旅,众做周知CUDA目前应用的领域十分广泛,它能把一些普通的CPU代码提速几十倍甚至几百倍。在本人所从事的图像处理领域,在一些大图像的处理上(4K以上图像),仅仅依靠CPU进行计算已经完全无法满足工程项目所要求的运行时间,这时候我们就需要利用CUDA对代码进行加速。本文以一个8000*1000...原创 2018-06-05 14:35:33 · 886 阅读 · 0 评论 -
我的CUDA学习之旅2——图像形态学腐蚀、膨胀CUDA实现
引言由于上两周杂七杂八的事情比较多加上自己写的算法有些问题,一直改bug。。。。没时间继续写博客,今天开始补上博客。从这篇文章起,开始将一些较为典型的OpenCV算法通过CUDA进行实现,本文实现的为图像处理中最为常见的形态学腐蚀以及膨胀,由于本文目的在于算法移植后的验证,故在图片的选择上用小图像作为输入的示例图像,有不当之处欢迎评论或私信~任务要求输入一张图片,将其转为灰度图后,通过...原创 2018-06-05 14:36:14 · 1562 阅读 · 0 评论 -
我的CUDA学习之旅3——图像灰度化、灰度直方图统计
引言在大部分的图像处理程序中,其中必不可少的一步就是对传入的彩图进行灰度处理,将三个通道的RGB图片转化为单通道的Gray图,而对于灰度图进行直方图统计同样是观察检测图像特征的常用方法。在OpenCV中已经有成熟的封装函数进行上述功能的实现,本文主要讲述CUDA实现,加快对大图像的处理速度。任务要求输入一张彩色图片,通过CUDA将其转换为灰度图,并对灰度图进行灰度直方图统计。实现思路关于彩色图片灰...原创 2018-06-05 14:36:45 · 937 阅读 · 0 评论 -
我的CUDA学习之旅4——Sobel算子图像边缘检测CUDA实现
引言关于图像边缘检测,记得刚开始接触图像处理时,第一个自己实现的程序是通过笔记本摄像头采集图像,利用OpenCV自带的算法库进行Canny算子边缘检测,那时候当看到程序运行后,视频窗口实时显示经Canny算子边缘分割后的图像,觉得十分有科技感,后来慢慢开始自己写边缘检测的源代码,本博客以Sobel算子为例,将边缘检测通过CUDA实现。任务要求输入一张图片,将其转为灰度图后,通过CUDA...原创 2018-06-05 14:37:12 · 1109 阅读 · 5 评论