【opencv学习】
工作上开始接触到opencv , 顺便系统学习一下,记录一下
越甲八千
置身其中,全力以赴
展开
-
阈值分割之熵算法
熵算法原创 2024-09-19 23:42:54 · 124 阅读 · 0 评论 -
阈值分割之局部分割法
局部分割法原创 2024-09-19 23:41:52 · 119 阅读 · 0 评论 -
阈值分割之全局分割
阈值分割之全局分割原创 2024-09-19 23:40:40 · 92 阅读 · 0 评论 -
Ostu算法
Ostu算法原创 2024-09-19 23:36:12 · 193 阅读 · 0 评论 -
阈值分割之自适应阈值原理及adaptiveThreshold参数意义
优点是对于光照不均匀的图像进行二值化处理,相对会比全局性的二值化(OTSU算法和最大熵算法、全局Thresh)效果会好。2、得到自适应矩阵 Thresh = (1-ratio)*smoothImg;ratio一般为0.15。1、先将原图像进行平滑(均值平滑,中值平滑,高斯平滑…),得到一个平滑后的图像记为smoothImg;3、利用局部阈值进行分割 , 即利用Thresh和原图进行比较分割。c| 确定完阈值之后的一个微调,在原有的基础上加上 C。blockSize | 矩阵大小。原创 2024-09-19 23:19:55 · 1201 阅读 · 0 评论 -
阈值分割算法总结
阈值分割算法总结原创 2024-09-18 20:47:22 · 129 阅读 · 0 评论 -
opencv滤波算法总结
有大佬已经写的很好了,直接引用,备忘链接:高斯滤波按照正态分布概率,将卷积核内灰度值加权求出最终的灰度值。原创 2024-09-18 20:44:21 · 547 阅读 · 0 评论 -
工业相机图像格式总结
黑白相机:Mono8、Mono10、Mono10 Packed、Mono12、Mono12 Packed彩色相机:RGB8、Bayer、BGR、YUV 422 Packed、YUV 422(YUYV) PackedMono 8、Mono 10、Mono 10 Packed、Mono 12、Mono 12 Packed这几种像素格式在灰度图中的区别和联系如下:Mono 8:每个像素使用8位(1字节)表示灰度值,范围是0-255。这种格式在处理黑白图像时非常常见。原创 2024-09-14 15:44:38 · 277 阅读 · 0 评论 -
opencv对比度增强方法算法汇总
opencv对比度增强方法算法汇总原创 2024-09-12 22:55:05 · 451 阅读 · 0 评论 -
opencv minMaxLoc
opencv minMaxLoc原创 2024-09-12 22:46:07 · 371 阅读 · 0 评论 -
三种方式可以将彩色图像转成灰度图对比
三种方式可以将彩色图像转成灰度图对比原创 2024-09-11 21:34:37 · 884 阅读 · 0 评论 -
opencv彩色图像转灰度图原理
opencv彩色图像转灰度图原理原创 2024-09-11 20:42:51 · 862 阅读 · 0 评论 -
qt下两种方式读取opencv 图片各个通道的值
qt下两种方式读取opencv 图片各个通道的值原创 2024-09-11 20:29:01 · 518 阅读 · 0 评论 -
QT 联合opencv 易错点
QT 联合opencv 易错点原创 2024-09-10 22:20:29 · 658 阅读 · 0 评论 -
opencv双边滤波
opencv双边滤波原创 2023-11-02 10:58:23 · 99 阅读 · 0 评论 -
opencv形态学-膨胀
opencv形态学-膨胀原创 2023-09-25 23:39:07 · 455 阅读 · 0 评论 -
opencv形态学-腐蚀
3结构元中心,然后在这个结构元中取最小值代替19,于是取8,同理44 、 99所在位置一样。3矩形腐蚀后的结果,我们拿19,44,99进行分析,对19所在位置进行腐蚀时,19就在3。腐蚀就是取每一个位置结构元领域内最小值作为该位置的输出灰度值。下图左测是原始图片的灰阶,右边是经过3。原创 2023-09-25 23:16:29 · 450 阅读 · 0 评论 -
perspectiveTransform warpPerspective getPerspectiveTransform findHomography
findHomography原创 2022-08-01 17:49:16 · 845 阅读 · 0 评论 -
opencv 画黑色矩形,并写上序号
opencv 画黑色矩形,写序号原创 2022-07-16 11:13:34 · 1323 阅读 · 0 评论 -
cvtColor封装
cvtColor(src, gray);报错,改成如下函数进行封装void cvtColor_src(Mat &src, Mat &src_gray){ // 转换单通道 if (src.channels() == 4) { cv::cvtColor(src, src_gray, CV_BGRA2GRAY); } else if (src.channels() == 3) { cv::cvtColor(src, src_g原创 2022-03-18 19:52:36 · 1146 阅读 · 0 评论 -
求图片bgr的平均值
//开始统计bgr的平均值COLORNODE GetavColor(Mat p_mat, vector<Point2f> p_vec){ COLORNODE tep = { 0,0,0 }; int nchannels = p_mat.channels(); int nrows = p_mat.rows;//矩阵的行数 int ncols = p_mat.cols;//矩阵的总列数=列数*nchannels if (p_mat.isContinuou.原创 2022-02-12 14:28:05 · 1130 阅读 · 0 评论 -
高斯滤波和原图叠加
工作需要,要求高斯滤波和原图叠加到一起,可调整模糊程度和叠加权重,代码如下://-----------------------------------【程序说明】----------------------------------------------// 程序名称::【OpenCV入门教程之八】线性滤波专场:方框滤波、均值滤波与高斯滤波 配套源码// 开发所用OpenCV版本:2.4.8// 2014年3月31 日 Create原创 2022-01-10 08:13:18 · 1000 阅读 · 0 评论 -
opencv copyto
1、image.copyTo(imageROI),作用是把image的内容粘贴到imageROI,imageROI是源文件上的区域2、image.copyTo(imageROI,mask),作用是把mask和image重叠以后把mask中像素值为0(black)的点对应的image中的点变为透明,而保留其他点。mask:即掩模。掩模是由0和1组成的一个二进制图像。当在某一功能中应用掩模时,1值区域被处理,被屏蔽的0值区域不被包括在计算中。通过指定的数据值、数据范围、有限或无限值、感兴趣区和注释文件来定义原创 2021-11-30 19:09:13 · 1034 阅读 · 0 评论 -
八叉树误差扩散
三通道转成四通道bmp , 八叉树误差扩散#include <stdlib.h>#include <stdio.h>#include <string.h>#include <limits.h>// 类型定义typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t;// 内部类型定义#pragma pack(原创 2021-11-25 20:17:17 · 960 阅读 · 0 评论 -
误差扩散法-2
Floyd-Steinberg抖动算法简直量身为价签这种低颜色呈现设备准备的。由于价签的墨水屏能够呈现的色彩非常有限,根据型号不同,有的只能显示黑白,有的只能显示黑白红,有的只能显示黑白黄,所以对于一张普通图片,需要将其转换为两色或者三色才能比较好地在价签上展示出来。上篇是C++,这篇改成C的在这里插入代码片#include <iostream>#include <opencv.hpp>#include <opencv\highgui.h>#include &原创 2021-11-23 20:11:13 · 3505 阅读 · 0 评论 -
误差扩散法
https://blog.csdn.net/weixin_34406061/article/details/92425842 代码是C#,我把他改成C++Floyd-Steinberg抖动算法简直量身为价签这种低颜色呈现设备准备的。由于价签的墨水屏能够呈现的色彩非常有限,根据型号不同,有的只能显示黑白,有的只能显示黑白红,有的只能显示黑白黄,所以对于一张普通图片,需要将其转换为两色或者三色才能比较好地在价签上展示出来。#include <iostream>#include <o原创 2021-11-22 19:28:41 · 3619 阅读 · 0 评论 -
图像切割实例
#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/core/core.hpp>#include <iostream>using namespace std;using namespace cv;#define m_count 8cv::Mat img;cv::Rect m_select;int main(){ img =原创 2021-11-19 08:20:22 · 3489 阅读 · 0 评论 -
HSV HSI
RGB颜色空间定义RGB颜色空间通常用于显示器系统,例如:电脑、电视机的显示器使用的都是RGB颜色空间。利用物理学中的三原色叠加原理,可以产生各种颜色。在RGB颜色空间中,R、G、B各颜色分量彼此独立。RGB颜色空间的缺点在于不符合人眼的视觉特性,直接处理多有不便,因此通常需要转换到其他颜色空间进行处理,最后再转换到RGB颜色空间,用于显示器显示。数学模型RGB颜色空间中,R、G、B三个分量彼此独立,所能表示的范围也相同,例如:用8比特来表示每个分量,则所能表示的范围为[0,255]。在数学上,R转载 2021-11-15 10:50:32 · 2647 阅读 · 0 评论 -
将RGB彩色图像转换为多通道
#include <iostream>#include <opencv.hpp>#include <opencv\highgui.h>#include <stdlib.h>#include <time.h>#include <windows.h>using namespace cv;using namespace std;void mysplit(){ Mat img = imread("E:\\1.jpg",.原创 2021-11-12 14:48:40 · 2774 阅读 · 0 评论 -
半色调算法
参考:https://blog.csdn.net/majinlei121/article/details/49335693半色调技术是 指用少量的色彩将一幅连续色调图像(如灰度图像和彩色图像)量化为一幅二值图像或是只有少数几种色彩的彩色图像,并且量化后图像在一定距离的视觉效果和原始图像相似的技术 ;目前半色调技术最普遍的分类法是按照它的处理方式分为:抖动法,误差扩散法,迭代法三大类。从整体上看,误差扩散的效果是很好的。目前已有的最好的半色调效果仍是基于误差扩散方法。误差扩散也有不足之处。从速度上看,中原创 2021-11-12 11:50:54 · 4956 阅读 · 0 评论 -
opencv- namedWindow
nameWindow(const string& winname,int flags = WINDOW_AUTOSIZE) :的功能就是新建一个显示窗口。可以指定窗口的类型原型:void nameWindow(const string& winname,int flags = WINDOW_AUTOSIZE) ;参数1:新建的窗口的名称。自己随便取。参数2:窗口的标识,一般默认为WINDOW_AUTOSIZE 。WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更原创 2021-11-10 10:50:17 · 3120 阅读 · 0 评论