- 博客(24)
- 收藏
- 关注

原创 基于位移平台的双目线激光三维重建及测量
Steger算法提取光条中心,对比了灰度中心提取、极值法提取。点云去噪:直通滤波 统计滤波。点云测量:凸包 关键三点信息。相机标定、光平面标定。点云分割:随机一致性。
2023-06-02 23:03:15
350
原创 opencv学习记录——(12) 设置mask区域
mask图像和logo图像大小尺寸都一样,添加了mask后,只有mask的白色区域在logo中的相同区域能显示出来,即只有该区域才能粘贴在原图img上。二、mask区域是原logo取反二值化。下面是logo 原图。
2022-09-12 10:23:22
1657
原创 opencv学习记录——(7)视频读取与写入
一、VideoCapture 常用函数功能1)open()------打开视频文件或者摄像头2)isopened()-------判断打开的视频文件是否正确,正确返回true3)release()------关闭视频流文件4)grab()------抓取下一帧的视频文件或设备5)Retrieve()------解码并返回视频帧6)get()------返回指定视频的参数信息7)set()------设置信息类的一个属性二、读取视频的两种方式1)VideoCapture c
2022-05-27 19:51:09
1001
原创 灰度变换 加权
clc;clear;imrgb=imread('C:\Users\wangzhiyong\Desktop\canny\Right14.bmp');imgray=rgbimage2gray(imrgb);figure(1);imshow(imgray);figure(2);imshow(imrgb);function imgray=rgbimage2gray(imrgb)[m,n,t]=size(imrgb);for i=1:m for j=1:n for k=1.
2022-04-18 10:51:44
270
原创 opencv学习记录——(6)滚动条演示操作-调整图片亮度
本次主要介绍通过createTrackbar来设置一个进度条,实现图片的亮度调节。补充知识:对createTrackbar函数的总结:原型:int createTrackbar(const string& trackbarname, const string&winname, int* value,int count ,TrackbarCallback onChange = 0, void* userdata = 0);如上:不同颜色代表不同的六个参数其中:参数...
2022-04-09 20:27:54
3375
原创 opencv学习记录——(5)图像像素的操作
1、先补充几点opencv的相关知识点1.1 通过Scalar来设置颜色Scalar(b1, b2, b3, b4),前面的三个参数是依次设置BGR的,和RGB相反,第四个参数设置图片的透明度。 如果不需要 设置透明度,则可以把第四个参数去掉。1.2Vec3b类型的使用Vec3b就是一个uchar类型的数组,长度为 31.2.1 对Vec3b的定义Vec3b color; //变量 color 是一个长度为 3 的 uchar 数组,用于描述 RGB 颜色//在 ...
2022-04-08 15:34:21
3334
原创 opencv学习记录——(4)图像像素的读写操作
本节主要介绍了通过遍历的方式访问图像的像素值,并且改变图像的像素值如何遍历和修改每个像素点的数值,分为单通道和多通道。访问模式模式也有两种。第一种是数组访问模式,用最常规的数组下标访问像素值。void QuickDemo::pixel_visit_demo(Mat &image){ int dims = image.channels();//image的通道 int h = image.rows; //image的行 int w = image.cols; //image的列 f
2022-04-07 20:05:26
2588
原创 opencv学习记录——(3)图像对象的创建与赋值
一、Mat中对clone()、copyto()、等号赋值的解释(1)等号赋值类例如:Mat image1=image; 将image赋值给image1, 其中image和image1共享数据区,若后续对image1,进行改变,image也会跟着做相同的变化;(2)clone()类Mat image1 = image.clone() ;//完全拷贝,把image中的所有信息拷贝到image1中 ,image和image1各自有独立的数据区,即使改变image1,image也不会发生改变,会维持
2022-04-07 10:37:37
1945
原创 opencv学习记录——(2)图像色彩空间转换
//此代码是将class构造的函数写在了另一个文件中// ************************( 主程序的代码)*****************************#include <opencv2/opencv.hpp>#include <iostream>#include <quickopencv.h>//头文件using namespace cv;using namespace std;int main(int argc, char.
2022-04-04 19:45:32
1387
原创 opencv学习记录——(1)图像的读取与显示
#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char** argv){ Mat src = imread("H2.jpg",IMREAD_GRAYSCALE);//第一个参数是图片位置,第二个是设置图片显示的颜色if (src.empty()) //没读取到图片则运行if语句 { cout <.
2022-04-04 12:05:57
1023
原创 三、PCL点云处理滤波器----(2)体素滤波器(下采样)
点云的几何结构,不仅仅是宏观的几何外形,也包括其微观的排列方式,比如横向相似的尺寸、纵向的相同距离。如果使用高分辨率相机等设备对点云进行采集,往往点云会比较密集。过多的点云数量会对后续分割工作带来困难。体素格滤波器可以达到向下采样同时不破坏点云本身几何结构的功能。 随机下采样虽然效率比体素滤波器高,但会破坏点云微观结构。使用体素化网格方法实现下采样,即可以减少点的数量,又能保存点云的形状特征,在提高配准,曲面重建、形状识别等算法速度中非常实用。下采样:减少点云数据集中的点云数量体素滤波器...
2022-01-14 16:47:19
1150
原创 二、点云PCL可视化(2)多窗口可视化
此处以双窗口为例一:核心代码://第一个窗口显示内容进行设定 int v1(0); viewer->createViewPort(0.0, 0.0, 0.5, 1.0, v1); viewer->setBackgroundColor(0, 0, 0, v1); viewer->addText("viewer_01", 10, 10, "v1 text", v1); pcl::visualization::PointCloudColorHandlerCustom <
2022-01-13 20:21:40
8278
原创 三、PCL点云处理滤波器----(1)直通滤波器
本人正在学PCL点云处理,写此博客主要是为了做个笔记,有错误欢迎指正本人VX:wzy1808008216,欢迎一起学习讨论直通滤波器的作用:根据点云的属性在点的属性上设置范围,对点进行滤波,保留范围内的或保留范围外的(1)指定一个维度以及该维度下的值域 (2)遍历点云中的每个点,判断该点在指定维度上的取值 是否在值域内,删除取值不在值域内的点 (3)遍历结束,留下的点即构成滤波后的点云。直通滤波器核心代码: pcl::PassThrough<pcl::Poi
2022-01-07 18:04:24
1115
原创 二、点云PCL 可视化(1)简单可视化
点云简单可视化#include<pcl/visualization/cloud_viewer.h>#include<pcl/io/io.h>#include<pcl/io/pcd_io.h> //pcd 读写类相关的头文件。#include<pcl/io/ply_io.h>#include<pcl/point_types.h> //PCL中支持的点类型头文件。#include<iostream>//标准C++库中.
2022-01-06 15:10:46
1532
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人