- 博客(57)
- 收藏
- 关注
原创 ft.border
是 Flet 中用于设置控件边框的属性。属性,你可以轻松地为控件添加边框,增强界面的视觉效果或区分不同区域。如果需要为每一条边设置不同的样式,可以使用。方法中传入第二个参数(颜色值)。如果需要自定义边框颜色,可以在。
2025-04-01 14:24:49
271
原创 content和controls的区别
在 Flet 中,content 和 controls 是两个不同的属性,它们用于不同的上下文和目的。理解它们的区别对于构建有效的用户界面非常重要。1. content 属性定义用途: content 通常用于定义一个控件内部的主要内容。适用范围: 许多布局控件(如 ft.Container, ft.Card, ft.AppBar 等)都支持 content 属性。特点:content 只能包含一个控件或布局对象(例如 ft.Text, ft.Column, ft.Row 等)。如果需要包含
2025-03-31 14:53:02
315
原创 RuntimeError: CUDA error: device-side assert triggeredCUDA kernel errors might be asynchronously re
RuntimeError: CUDA error: device-side assert triggeredCUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.For debugging consider passing CUDA_LAUNCH_BLOCKING=1.Compile with `TORCH_USE_CU
2025-03-11 15:05:19
321
原创 opencv close open 运算的作用
闭运算(Closing)是OpenCV中形态学操作(Morphological Operations)的一种,闭运算通常由膨胀(Dilation)和腐蚀(Erosion)两个基本操作按照一定的顺序组合而成。
2024-10-17 10:34:13
433
原创 cv::convexityDefects()详解
上面的黄色数字标的①②③④⑤⑥六个部分实际上就描述了手的轮廓凸包的六个凸包缺陷。这里以⑥为例说明start_index, end_index, farthest_pt_index, fixpt_depth的意义。start_index:凸包缺陷的起点,上图⑥中的A或B就代表起点,A或B都位于轮廓上。end_index: 凸包缺陷的终点,上图⑥中的A或B就代表终点,A或B都位于轮廓上。farthest_pt_index:凸包缺陷中轮廓与凸包相距的最远点,上图⑥中的C点就是凸包缺陷中轮廓与凸包相距的
2024-09-09 10:48:35
638
原创 需要delete的情况
使用 new 分配内存时,应该将结果赋值给一个指针变量,而不是直接赋值给一个普通变量。另外,释放内存时也需要使用指针变量。
2024-08-27 15:12:53
414
原创 C++ 风格指南 5 来自 Google 的奇技
scoped_ptr 和 auto_ptr 已过时. 现在是 shared_ptr 和 unique_ptr 的天下了.
2024-08-25 14:45:11
413
原创 C++ 风格指南 3、类
这段文字的关键内容概括如下:1. **类的接口明确性**:类的公有接口必须明确指明是否支持拷贝、移动或都不支持。2. **定义**: - 可移动类型可以用临时变量进行初始化或赋值。 - 可拷贝类型可以用另一个相同类型的对象初始化,源对象状态不变。3. **优点**: - 值传递使API更简单、安全、通用。 - 避免了所有权、生命周期和可变性的混乱。 - 值传递的对象可以在通用API和类型组合中使用,提高代码可读性和易于维护。4. **缺点**: - 某些类
2024-08-23 18:22:31
879
原创 C++风格指南 2、作用域
局部变量在声明的同时进行显式值初始化,比起隐式初始化再赋值的两步过程要高效,同时也贯彻了计算机体系结构重要的概念「局部性(locality)」。注意别在循环犯大量构造和析构的低级错误。
2024-08-23 15:58:15
635
原创 C++风格指南 1、头文件
类内部的函数一般会自动内联。所以某函数一旦不需要内联,其定义就不要再放在头文件里,而是放到对应的 .cc 文件里。这样可以保持头文件的类相当精炼,也很好地贯彻了声明与定义分离的原则。
2024-08-23 11:36:39
1172
原创 cv::normalize()
`cv::normalize()`函数在OpenCV中用于将矩阵或向量的数值进行归一化处理,使其符合特定的统计性质或范围。你给出的代码片段:```cppcv::normalize(hist1, hist1, 1.0);```是对一个名为`hist1`的`cv::Mat`或`cv::MatND`对象进行归一化操作。这里,`hist1`通常是一个直方图数据,即`hist1`包含了图像或信号的频率分布信息。### 参数解析- **`hist1` (InputArray)**:这是要被归一化的输
2024-08-12 16:28:42
969
原创 cv::calcHist()
channels参数已经是数组的首地址,你不需要再在其前加上&。如果加上&,你会意外地传递整个数组的地址(即数组的地址的地址),这不是函数期望的。简而言之,channels不需要加&的原因如下:在C++中,当你将数组传递给函数时,编译器会自动将其转换为指向数组首元素的指针。因此,当你编写channels时,你实际上已经在传递一个指向整数数组首元素的指针,这就是cv::calcHist()函数所期望的。加上&会导致错误,因为你将传递数组的地址的地址,这并不是函数所需要的。
2024-08-12 16:09:33
379
原创 cv::equalizeHist()
下面我将详细解释`cv::equalizeHist()`的具体计算过程。2. **计算累积分布函数(CDF)**:接着,基于灰度直方图计算累积分布函数(CDF),CDF表示小于等于某个灰度级的像素数占总像素数的比例。直方图均衡化的目标是重新分布图像的灰度级,以获得更均匀的灰度分布,从而增强图像的对比度。1. **计算灰度直方图**:首先,需要计算图像的灰度直方图,也就是统计每个灰度级在图像中出现的频率。3. **映射灰度级**:然后,使用CDF来重新映射每个像素的灰度级,使得新灰度级的分布尽可能均匀。
2024-08-12 14:17:39
207
原创 cv::morphologyEx()
**borderValue**: `Scalar`类型,当边界类型为`BORDER_CONSTANT`时,用于填充图像边界的值。- **borderType**: `int`类型,边界处理方式,默认为`BORDER_CONSTANT`。- **dst**: `OutputArray`类型,输出图像,与输入图像具有相同的类型和尺寸。- **anchor**: `Point`类型,结构元素的锚点位置,默认是结构元素的中心。- **iterations**: `int`类型,操作迭代的次数,默认为1。
2024-08-12 14:15:50
848
原创 static_cast<int>(cv::norm<int, 3>(cv::Vec3i(color[0] - target[0],color[1] - target[1],color[2
我们以一个简单的例子来说明两种计算方式的区别。假设目标颜色 `target` 为 `(255, 0, 0)`(红色),我们要比较的颜色 `color` 分别为 `(254, 0, 0)` 和 `(256, 0, 0)`。首先,我们需要了解 `uchar` 类型的最大值为 `255`,超过这个值就会溢出。因此,`(256, 0, 0)` 不是一个合法的颜色值,但在计算过程中我们可以暂时忽略这一点。1. **使用 `cv::Vec3i` 和 `cv::norm`:** 我们
2024-08-09 16:32:12
278
原创 什么是cmake
3、makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。它涉及到大量的文件、目录,这些文件可能是在不同的时间、由不同的人、在不同的地方分别写的,其中一些是程序,有些是数据,有些是文档,有些是衍生文件。
2024-08-07 15:00:36
320
原创 Visual Studio创建 OpenCV项目
1、cmake 编译 opencv参考链接:CMake编译OpenCV3.4.1心得_cmake 3.4.1-CSDN博客1)opencv文件名最好不要有空格2)没有下载opencv_contrib,不用配置OPENCV_EXTRA_MODULES_PATH1、Visual Studio创建 OpenCV项目
2024-08-06 18:14:53
668
原创 kitti
链接:https://pan.baidu.com/s/1Y5FbdlAhgLgJhbTcb3zl4w?复制这段内容打开「百度网盘APP 即可获取」通过百度网盘分享的文件:20231213…
2024-02-29 17:12:50
428
原创 点云配准代码
但在某些特殊情况下,可能需要使用其他的变换估计方法,如TransformationEstimationPointToPlane,它考虑了点云表面的法线信息,可以更好地处理非刚性变换的情况。在ICP算法中,变换估计的目标是找到一个变换矩阵,将源点云中的点与目标点云中的对应点对齐。标准差越小,高斯核的权重分布越集中,滤波器对图像的平滑效果越细致。总之,TransformationEstimationPointToPoint是一个用于估计点对点变换矩阵的类,它在ICP算法中起到了关键的作用,帮助实现点云的配准。
2024-01-24 10:37:34
1369
1
原创 pip install torch==1.12.0+cu102 torchvision==0.13.0+cu102 torchaudio==0.12.0 --extra-index-url https
pip install torch==1.12.0+cu102 torchvision==0.13.0+cu102 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu102
2023-12-22 15:56:35
2424
1
原创 python 函数reshape()和view()的区别
总之,reshape()和view()函数都是用于改变张量形状的函数,但是它们之间有一些区别。如果你需要处理非连续的张量或者需要自动推断某些维度的大小,应该使用reshape()函数。如果你需要处理连续的张量并且需要手动指定所有维度的大小,应该使用view()函数。
2023-05-29 21:03:13
984
1
原创 AttributeError: ‘numpy.ndarray‘ object has no attribute ‘unsqueeze‘
AttributeError: 'numpy.ndarray' object has no attribute 'unsqueeze'
2023-05-27 19:13:39
4432
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人