自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 【C++ OpenCV】感兴趣区域截取(RIO)和图像深拷贝和浅拷贝

创建Mat类时,除了图片数据本身,还创建了一个矩阵头,里面存放了一些图像信息,如下图:每当你创建一个矩阵对象并将其赋值给其他变量时,引用计数会增加。当你销毁或重新分配矩阵对象时,引用计数会减少。引用计数的主要目的是在确保内存安全的同时,实现高效的内存管理。当你将一个矩阵对象赋值给另一个变量时,新的变量会共享相同的矩阵数据,引用计数会增加。这意味着你可以使用多个变量来访问和操作相同的矩阵,而不需要进行显式的数据复制。当引用计数为零时,表示没有任何变量引用矩阵数据,该数据将被释放,内存将被回收。

2023-06-20 16:30:21 1275

原创 【C++ OpenCV】图像上绘制几何图形、文字

img: 要绘制线段的图像。pt1: 线段的起点。pt2: 线段的终点。color: 线段的颜色,通过一个Scalar对象定义。thickness: 线条的宽度。lineType: 线段的类型。可以取值8, 4, 和CV_AA, 分别代表8邻接连接线,4邻接连接线和反锯齿连接线。默认值为8邻接。为shift: 坐标点小数点位数。

2023-06-19 19:36:40 1327

原创 【STM32 UCOSIII】UCOSIII中断原理、以及相关指令LDR、STRB解析

SHPR1寄存器:0xE000_ED18SHPR2寄存器:0xE000_ED1CPendsv:实现任务切换;SysTick:提供UcosIII的系统节拍。

2023-06-19 11:55:32 1338 1

原创 刚体、仿射、单应性(投影)、透视变换

透视变换(Perspective Transformation)的本质是将图像投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。

2023-06-18 21:44:08 1267 2

原创 【C++ OpenCV】透视变换、透视变换和仿射变换区别

透视变换又称为四点变换,和仿射变换一样,通常需要得到透视变换矩阵,然后才能通过对图像进行透视变换。之所以称为四点变换,是因为我们得需要通过变换前后的四个点的对应关系才能求得变换矩阵M(3*3矩阵),为什么是四个点,因为变换矩阵有8个未知数(通常令a33=1)而一个点可以提供两个方程:而透视变换矩阵各个部分所代表的意义如下所示:其中:a33令其为1,注意:与仿射变换不同,注意其表示平移的参数位置!!

2023-06-18 21:41:00 1000 1

原创 【STM32 UCOSIII】UCOSIII实现LED0、LED1灯点亮、按键控制led灯,代码一一解释,包括临界区含义和任务栈申请内存两种方式(超级详细)

/创建任务函数void OSTaskCreate (OS_TCB *p_tcb, //*p_tcb: 指向任务的任务控制块OS_TCB。CPU_CHAR *p_name, //*p_name: 指向任务的名字,我们可以给每个任务取一个名字OS_TASK_PTR p_task, //p_task: 执行任务代码,也就是任务函数名字通常习惯和任务函数起一样的名字)void *p_arg, //*p_arg: 传递给任务的参数。

2023-06-17 19:34:36 1516 1

原创 【C++ OpenCV】图像变换:连接、尺寸、翻转、旋转、仿射变换

​​​int main()Mat img = imread("E://学习//OPEN-CV学习//lena.png");cout

2023-06-15 20:25:52 1619 1

原创 【C++ OpenCV】LUT查找表原理、实操、使用时机

在OpenCV中,LUT代表查找表(Lookup Table),它是一种用于像素值映射的技术。查找表是一个数组,其中每个元素对应于输入像素值的一个映射值。使用LUT可以有效地对图像进行像素值的转换,常用于颜色空间转换或者对特定像素值进行操作。LUT通常在需要将图像像素值映射到其他值域时使用,例如将灰度图像转换为伪彩色图像。通过定义一个映射表,可以将原始图像中的每个像素值映射到新的颜色或灰度值,从而实现不同的效果。

2023-06-14 12:14:56 2355

原创 【C++ OpenCV】阈值二值化、阈值反二值化、截断、阈值取零、阈值反取零、自适应阈值使用方法以及时机

阈值:简单来说就是一把分割图像像素的标尺,在二值化处理中有固定阈值和自适应阈值两种形式。那么什么时候用固定阈值,什么时候使用自适应阈值呢?答:当图像,且目标和背景容易区分时,可以采用固定阈值当图像,且有,虽然使用大津法和三角形法也可以自己寻找阈值,但整个图像阈值都是相同,所以最终分割效果较差。所以,可以用,或者将整个图像成几行几列,对每个部分运用大津法或者三角形法,最后将图形整合,这样每一部分的阈值就不相同,分割效果也会更好。

2023-06-13 21:36:55 4749 4

原创 【C++ OpenCV】阈值二值化、阈值反二值化、截断、阈值取零、阈值反取零、自适应阈值使用方法以及时机

阈值:简单来说就是一把分割图像像素的标尺,在二值化处理中有固定阈值和自适应阈值两种形式。那么什么时候用固定阈值,什么时候使用自适应阈值呢?答:当图像,且目标和背景容易区分时,可以采用固定阈值当图像,且有,虽然使用大津法和三角形法也可以自己寻找阈值,但整个图像阈值都是相同,所以最终分割效果较差。所以,可以用,或者将整个图像成几行几列,对每个部分运用大津法或者三角形法,最后将图形整合,这样每一部分的阈值就不相同,分割效果也会更好。

2023-06-13 21:30:17 345 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除