- 博客(132)
- 收藏
- 关注
原创 OpenCV之Canny边缘检测
边缘检测的一般步骤Canny边缘检测的步骤Canny函数例程#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>
2022-05-23 14:37:22
288
原创 灰度图与RGB图
1.灰度图灰度图就是单通道图像,而单通道图是指维度数为2的图像。而灰度就是没有色彩,RGB色彩分量全部相等(可将这点与下文的RGB图进行对比)。那么灰度图的每个像素点就只有一个值表示颜色,像素值的范围就是[0~255]。如使用RGB表示灰度为100的图像,三通道灰度图即RGB(100,100,100),而单通道灰度图只有其中一个有值。简而言之,灰度图就是黑白图。2.RGB图图像通道在RGB色彩模式下就是指在下就是指那单独的红色R、绿色G、蓝色B部分。与灰度图不同之处在于,该图的.
2022-05-20 15:22:04
8603
原创 OpenCV之阈值化
阈值化固定阈值操作: Threshold() 函数自适应阈值操作: adaptiveThreshold() 函数基本阈值操作例程(代码)#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.h...
2022-05-20 15:17:59
417
原创 OpenCV之图像金字塔与图片尺寸缩放
引言高斯金字塔向下取样向下取样也就是缩小图像向上取样拉普拉斯金字塔尺寸调整:resize()函数resize调用例程#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.h...
2022-05-19 14:49:11
451
原创 OpenCV之漫水填充
定义基本思想函数解析参数详解代码示例#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp> using na.
2022-05-16 15:37:31
464
原创 OpenCV之形态学滤波例程
代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp> using namespace cv;using namespace std;
2022-05-13 16:48:12
453
原创 OpenCV之膨胀和腐蚀滚动条操作例程
代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp> using namespace cv;using namespace std;
2022-05-11 10:23:40
234
原创 OpenCV之膨胀与腐蚀操作
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp> using namespace cv;using namespace std;
2022-05-10 18:35:12
962
原创 OpenCV之卷积含义
我们知道图像是由像素构成的,图像中的行和列一起构成了图像矩阵,比如一个分辨率800*400的图像,同时也是一个大矩阵,这个矩阵有着400行和800列.假设有一个3*3的滤波小矩阵(卷积核),在进行卷积运算的时候,我们便利整个图像大矩阵中的每一个像素,先取一个像素,然后取这个像素周围的一圈像素,构成一组3*3的矩阵,与卷积核对应位置的值相乘,把相乘的结果在相加,把相加的结果作为新的值存入结果.如图:卷积计算顺序,自上到下,自左向右卷积核通常是奇数个......
2022-05-09 16:36:11
673
原创 OpenCV之非线性滤波:中值滤波,双边滤波
代码#include <iostream>#include <opencv2/opencv.hpp>#include <time.h>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2
2022-05-09 11:26:57
771
原创 OpenCV之线性滤波: 方框滤波,均值滤波,高斯滤波
代码#include <iostream>#include <opencv2/opencv.hpp>#include <time.h>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2
2022-05-07 14:16:16
262
原创 OpenCV之Mat.Type()
opencv中Mat存在各种类型其中mat有一个type()的函数可以返回该Mat的类型。类型表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)。具体的有以下值:...
2022-04-29 16:30:43
5415
原创 OpenCV之多通道图像混合(例程)
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-29 16:02:33
3112
原创 OpenCV之图像对比度、亮度值调整
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-29 14:45:08
3382
1
原创 OpenCV之分离和合并颜色通道
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-28 17:11:22
659
原创 OpenCV之图像混合
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-25 21:36:21
1431
原创 OpenCV之线性混合操作
OpenCV书中线性混合操作个人理解图像混合就是将两个尺寸一样的图像按照一定的比例混合到一起,比如我们配置颜料,我们也是按照一定的比例去配置,所有的比例之和为1。代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/video
2022-04-24 10:27:39
207
原创 OpenCV之感兴趣区域ROI
这玩意儿在之前遇到过,但是只是简单了解下,现在遇到正版概念了。ROI定义方法一定义方法二例程#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/v
2022-04-22 23:16:46
1937
原创 OpenCV之访问图像中的像素
1、图像在内存之中的存储方式图像矩阵的大小取决于所用的颜色模型,确切的说,取决于所用通道数。如果是灰度图像,矩阵就如图所示:对于多通道来说,矩阵中的列会包含多个子列,其子列个数与通道数相等,如图RGB颜色模型的矩阵:可以看到,OpenCV中子列的通道顺序是反过来的-----BGR 而不是 RGB。2、颜色空间缩减如果矩阵元素存储的是单通道像素,使用C或者C++的无符号字符类型,像素可有256个不同值。如果是三通道图像,这种存储格式的颜色数就太多了。256 * 256 * 25
2022-04-20 22:23:20
2972
原创 OpenCV基本图形绘制之绘制直线
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-18 17:26:43
1439
原创 OpenCV基本图形绘制之填充连接区域内部
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-18 17:15:44
3618
原创 OpenCV基本图形绘制之圆
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;
2022-04-18 16:25:30
713
原创 OpenCV基本图形绘制之椭圆
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;.
2022-04-18 16:04:36
1449
2
原创 OpenCV之常用数据结构和函数
点的表示,point类颜色的表示:Scalar类尺寸的表示:Size类矩形的表示:Rect类颜色空间转换:cvtColor()函数第三个参数颜色空间转换的标识符有这个枚举大概看了下有六七百个......................总结:需要练...
2022-04-16 00:06:51
896
原创 OpenCV之基础图像容器Mat(2)
方式三:为已经存在的IplImage指针创建信息头方式四:利用create()函数方式五:采用Matlab式的初始化方式方式六:对小矩阵使用逗号分隔式初始化函数方式七:为已存在的对象创建新信息头以上代码全部运行,可以跑通...
2022-04-15 15:03:54
606
原创 OpenCV之基础图像容器Mat
今天的概念性比较强,还是贴上原文比较好,没事我自己多看看,多理解。自己不同时候都有不同的理解,现在没办法写对这些的理解。数字图像存储概述Mat结构的使用int main(int argc, char** argv){ Mat A, C;//仅是创建信息头部分 A = imread("1.png");//这里为矩阵开辟内存 Mat B(A);//使用拷贝构造函数 C = A; return 0;}像素值的存储显式创建Mat对象的七种方法方式...
2022-04-13 23:16:14
2048
原创 OpenCV之鼠标操作
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;.
2022-04-12 22:37:32
1275
原创 OpenCV之滑动条的创建和使用
先上代码#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/video.hpp>using namespace cv;using namespace std;.
2022-04-11 21:46:26
394
原创 Qt之tcp的简单使用
今天需要做一个服务器端的tcp通信因为之前没有用过qt的方法,只用过C语言版本的,所以干脆客户端和服务器端都查了下,做个笔记。先上代码客户端.h//mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QTcpSocket>#include <QHostAddress>namespace Ui {class MainWind
2022-04-11 17:55:20
3446
原创 OpenCV之图像的载入、显示与输出
先上代码int main(int argc, char** argv){ Mat image0 = imread("1.png", 2 | 4); //载入无损原图像 Mat image1 = imread("1.png", 0);//载入灰度图 Mat image2 = imread("1.png", 200);//载入3通道的彩色图像 imshow("载入无损原图像", image0); imshow("载入灰度图", image1); imshow("载入3通道的彩色图像
2022-04-10 21:53:24
4422
原创 1.图像显示&图像腐蚀&图像模糊&canny边缘检测&视频操作&调用摄像头
今天是开始学习OpenCV的第一天,简单记录下,运气不错,环境变量一遍配置过,很舒服。主要使用简单快速上手下显示图片 /*1.显示图片*/ Mat srcimg = imread("1.png"); imshow("显示图片", srcimg); waitKey(0);图片腐蚀 /*2.显示腐蚀图片*/ Mat srcimg = imread("1.png"); imshow("原图腐蚀操作", srcimg);
2022-04-09 23:04:19
659
原创 QT之QPainter用法
QPainter可以绘制从简单的直线到像饼图和弦这样的复杂形状。它也可以绘制排列的文本和像素映射。通常,它在一个“自然的”坐标系统中绘制。QPainter 一般在部件的绘图事件 paintEvent() 中进行绘制,首先创建 QPainter 对象,然后进行图形的绘制,最后记得销毁 QPainter 对象。当窗口程序需要升级或者重新绘制时,调用此成员函数。使用 repaint()和 update() 后,调用函数 paintEvent()。绘图工具的用法,简单的几个步骤:1.构造一个绘图工具
2022-04-08 14:38:24
11688
原创 排序之简单选择排序
package mainimport "fmt"/* 简单选择排序*/func simpleSort(sortArr *[6]int) { for i := 0; i < len(sortArr)-1; i++ { minNun := i for j := i + 1; j < len(sortArr); j++ { if sortArr[j] < sortArr[minNun] { minNun = j } } sortArr[i].
2022-02-17 23:15:49
226
原创 GO语言学习之路26
2022/02/17redis 链接池最近公司工作还是有点忙的,学的慢了点~~~~,到这里,go语言基本是学完了基础篇了。下面做项目增强码力了!package mainimport ( "fmt" "github.com/garyburd/redigo/redis")/* redis 链接池 1.实现初始化一定数量的链接,放入到链接池 2.当GO需要操作Redis时,直接从Redis链接池取出链接即可 3.这样可以节省临时获取Redis链接的时间,从而提高效.
2022-02-17 23:15:01
317
原创 GO语言学习之路25
2022/02/16go操作redis,需要下载redis三方库package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { //1.连接到redis conn, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("redis.Dial err = ", err) return }.
2022-02-17 23:13:02
337
1
原创 GO语言学习之路21
2022/02/12/*//进程和线程的基本介绍 1.进程就是程序在操作系统中的一次执行过程, 是系统进行资源分配和调度的基本单位 2.线程是进程的一个执行实例,是程序执行的最小单元, 它是比进程更小的能独立运行的基本单位 3.一个进程可以创建和销毁多个线程,同一个进程中的多个线程可以并发执行 4.一个程序至少有一个进程,一个进程至少有一个线程//goroutine的基本介绍 1.多线程程序在单核上运行,就是并发 ...
2022-02-13 01:30:09
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅