OpenCV
乌里随记
这个作者很懒,什么都没留下…
展开
-
OpenCVSharp Mat.Set<T>修改像素颜色
笔记:Mat.Set<T>方法修改图像中的颜色,T的类型不能是Scalar,应为Vec3b,否则颜色修改失败C#代码:Mat labs = new Mat();int counts = Cv2.ConnectedComponents(otsu,labs,PixelConnectivity.Connectivity4);List<Vec3b> colors = new List<Vec3b>();colors.Add(new Vec3b(0, 0, 0));原创 2020-12-18 10:59:09 · 2810 阅读 · 0 评论 -
OpenCVSharp之轮廓查找凸度缺陷
主要算子:1.查找轮廓线public static void FindContours( InputOutputArray image, out Point[][] contours, out HierarchyIndex[] hierarchy, RetrievalModes mode, ContourApproximationModes method, Nullable<Point> offset = null)参数:image:canny算子处理后的图像原创 2020-12-03 10:51:00 · 2003 阅读 · 0 评论 -
OpenCVSharp之ArucoSample例程
ArUco:是一个根据预设黑白Markers来估计相机位姿的开源库。该库由C++编写,运行速度很快。已被应用在了机器人导航、增强现实和目标姿态估计中。DetectorParameters :检测标记程序的参数属性:CornerRefinementMethod:角落细化方法(CORNER_REFINE_NONE:没有细化,CORNER_REFINE_SUBPIX:亚像素细分,CORNER_REFINE_CONTOUR:使用轮廓点)CornerRefinementWinSize:角落细化过程的.原创 2020-11-23 08:31:53 · 875 阅读 · 0 评论 -
OpenCVSharp之ClaheSample示例
CLAHE:限制对比度自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization)public double CLAHE.ClipLimit { get; set; }:设置或获取用于限制对比度的阈值Mat src = new Mat(FilePath.Image.TsukubaLeft, ImreadModes.Grayscale);Mat dst1 = new Mat();Mat dst2 = new Mat();Mat dst3原创 2020-11-23 08:28:54 · 691 阅读 · 0 评论 -
OpenCVSharp之BRISKSample示例
BRISK算法:是一种特征提取算法,也是一种二进制的特征描述算子。具有良好的局部不变性(旋转不变性,尺度不变性),较好的鲁棒性。对较大模糊的图像配准时,比较有优势。尺度不变性:人们在识别一个物体时,不管这个物体或近或远,都能对物体进行正确的辨认旋转不变性:当物体进行旋转时也能正确辨认处理步骤:Brisk(Binary Robust Invariant Scalable Keypoints)特征 相比于 SURF SIFT 有些步骤是相同的 构建尺度空间 特征点检测 ...原创 2020-11-21 11:37:57 · 503 阅读 · 0 评论 -
OpenCVSharp之BinarizerSample示例
Niblack:二值化算法,阈值的计算公式:T=M+K*V,M为以该像素点为中心的区域的平均灰度值,K为修正系数,V为该区域的标准差对输入图像应用Niblack进行阈值设定public static void NiblackThreshold( InputArray src, OutputArray dst, double maxValue, ThresholdTypes type, int blockSize, double k, LocalBinarizationMethods b原创 2020-11-20 13:50:12 · 458 阅读 · 0 评论 -
OpenCVSharp之BgSubtractorMOG例程
VideoCapture:视频捕获类BackgroundSubtractorMOG:基于高斯混合的背景/前景分割算法BackgroundSubtractorMOG2:背景/前景分割的基类。这个类只用于定义整个背景/前景分割算法家族的通用接口。public bool VideoCapture.Read( Mat image ):抓取,解码并返回下一个视频帧。public virtual void BackgroundSubtractorMOG.Apply( InputArray image,原创 2020-11-20 10:50:43 · 510 阅读 · 0 评论 -
OpenCVSharp例程PhotoMethods
边缘滤波保持器public static void EdgePreservingFilter( InputArray src, OutputArray dst, EdgePreservingMethods flags = EdgePreservingMethods.RecursFilter, float sigmaS = 60f, float sigmaR = 0.4f)Parameters:src:输入图像dst:目标图像flags:边缘保存滤波器RecursFilte...原创 2020-11-19 10:47:59 · 285 阅读 · 0 评论 -
OpenCVSharp 学习笔记(一)
OpenCVSharp C# pictureBox显示图像:Mat img = Cv2.ImRead(fileName);Bitmap bitMap = BitmapConverter.ToBitmap(img);pictureBox1.Image = bitMap;public static void Resize( InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0, In.原创 2020-11-18 14:14:15 · 938 阅读 · 0 评论 -
Python 之OpenCV的阈值分割
阈值分割cv.threshold(src, thresh, maxval, type, dst=None)src:原图thresh:阈值maxval:当type指定为THRESH_BINARY或THRESH_BINARY_INV时,需要设置该值;type:不同类型的阈值类型 条件 选中阈值区间 THRESH_BINARY if src(x,y) > thresh dst(x,y) = maxValue else dst(x,y) = 0原创 2020-08-11 15:40:14 · 691 阅读 · 0 评论 -
OpenCV 图像几何变换函数
1.resize 放大缩小函数python:CV_EXPORTS_W void resize( InputArray src, Size dsize,OutputArray dst, double fx=0, double fy=0, int interpolation=INTER_LINEAR );C++ :void resize(InputArray src, OutputArray ...原创 2020-08-10 14:39:13 · 514 阅读 · 0 评论