透视和仿射变换的区别 总的来说,仿射变换保持了更多的几何性质,适用于描述相对简单的几何变换,如平移、旋转、缩放和错切。而透视变换则更加灵活,能够描述更复杂的几何变换,如。上面的式子表示2D点乘以一个矩阵后加上平移(b1,b2)。仿射变换矩阵通常是2x3的矩阵。透视变换是3x3的矩阵。
立体匹配算法(Stereo correspondence) 如果想完全了解原理还是建议看原论文(我就不看了,懒癌犯了。先介绍两个重要的参数:注:这一部分参考的是matlab的解释,后面的部分是参考的opencv的实现,细节可能有些出入,大体上是一致的。and。
杂谈.。。。 现在我的导师又在画饼,补助一点没发,我能老实给他干活吗?这不就溜出来实习了,实习的活干了就行,打打杂也没啥问题,摸鱼也是那么多钱。公司团建了好多次,自己还私下和几个同事吃了一顿铁锅炖,虽然不好吃,但是聊天挺有意思。我发现我搞的东西都是没人做过的,前面搞点云,异构电影配准,那多难啊,就让一群本科生和研0的搞。中文吃完饭突然困得要死,直接眯了一会儿,要是再宿舍就直接睡了,这个温度实在太适合睡觉了。
ChArUco标定 ids:maker的id,数值从0到N,N是makers的总数。corners:检测到的maker角点的向量,每个maker角点用4个角点表示,4个角点顺序按照顺时针排列。ArUco的目的是用于相机的姿态估计,也就是给定一个ArUco板子,作为参照物,来估计相机的运动。版本不高,我的opencv4.8.1比他高,改了几个python 的 api的名字。公式怎么来的不晓得,暂时不去管它,写论文的时候才需要去看,做工程用就完了。貌似最少得6个格子。u,v是图像像素平面坐标,Z是物体上面的点到相机光心的距离。
ubuntu环境嵌套问题 当你发觉python和python3用which xxx命令时指向不对时,就一直conda deactivate 退出虚拟环境,再conda activate {你的虚拟环境名字},这样大概率是不会发生指向错误的了。其实win系统的conda也有环境嵌套的问题,只不过不太影响,在虚拟环境里面用的就是虚拟环境的python。我的这个Ubuntu系统,当没有进入虚拟环境时,python指向的是我的conda的base环境的python,而pyhton3指向的是系统的python3。
pip vs conda conda 管的比pip宽一些,conda命令不仅可以管理环境和安装python的包,还可以安装c c++ java的包,还可以安装pip,而pip就是专门安装python包的命令,搞ai的时候一般情况都是用conda建立虚拟环境,再用pip安装第三方库。
图像超分问题 大概就是这样一个效果。不过很蛋疼的一件是是,超分的模型太吉尔大了,我这是剪裁后的图片可以超分出来,再大一点就不行了,真的操蛋。为什么要进行超分,是因为棋盘格角点检测的不好,当对图片进行超分之后,棋盘格其实是变大了,因为像素变多了。一个lua写的图像超分代码,作者给的示例是二次元图像,不知道适不适合普通的图像。上面的是在麑蚂太大了,占显存,找了个小的。不如好好拍两张清晰的、大一点的照片。为了标定相机用超分,杀鸡用了牛刀。检测的效果就是这样。
mrcal相机标定库 这里就很难受了,为啥调用的是.local/lib/python3.10/site-packages/里面的库,我的虚拟虚拟环境明明在 ~/anaconda3/envs/ChessBoardCornersDetection/。好像是因为命令行直接调用的就是系统的库,不是虚拟环境的库,因为我的mrcal是用的apt install搞的,要是想用虚拟环境做,应该自己用make去构建mrcal的库。有的图opencv识别不到,matlab识别的不错,有的图matlab识别的很差,opencv可以很不错。
为什么上下文学习有用 具体来说,示例中的输入文本的分布和标签空间对上下文学习的性能提升起到关键作用,而真实的输入-标签映射的准确性影响较小。在上下文学习的过程中,包括了一些实际的演示例子,这些例子成为了提示的一部分。上下文学习与Prompt learning 类似,但是又不完全一样,预训练的大模型不需要进行微调,只需要根据提示,也就是上下文(in-context),就能够完成特定的任务。但是如果将学习新任务的定义更为宽泛,包括对特定输入和标签分布以及示例的格式的适应,以及更准确地进行预测,那么模型确实会从示例中学习到新任务。
相机倾斜棋盘格标定全记录 vs200+opencv安装 然后怎么运行一个本地的文件夹页花了我一些时间,目前我是新建了一个项目,把文件夹复制过去,然后先点击显示所有文件,再右键你的文件夹,点击包含到项目。主要是添加依赖库的时候,怎么去添加路径比较麻烦,什么bin、lib、dll乱七八糟的都得添加进去。不过现在的问题是opencv读不到我的图片,很麻烦。
使用paddleocr识别图片文本的一种方案 步骤就是这样,先ocr识别文本和区域,后面根据区域进行版面恢复。版面恢复部分根据自己的需要,可以省略。PS:突然有个问题,我发现wps+python-word处理的应该也还行,段落什么的也都分的很好,表格也识别对了。之前是觉得wps对生僻字识别的不好,所以没用,而且wps要钱hh。不过工程上的方法就是很多,只有达到效果就行,科研就不行,都是精益求精的。
对于版面识别的一个疑问 这样版型的图,确实是可以直接用merge_para进行排序,可是这种排序是比较简单的,如果版型是双栏的,那就必须用agument-xy-cut进行region的排序,在对每一个region进行内部的merge_para。多思考还是有好处的,不要一上来就问别人,当然实在不知道就必须问了,此中的度,需要自己把握。下一步就是对自然段进行划分,即res字段里面的text_region进行merge_para,不过这时我产生了一个疑问,既然有merge_para了,前面对bbox的排序有必要吗?
Python 字符串前缀 这些字符串前缀提供了不同的字符串处理方式,可以根据具体的需求选择适当的前缀来处理字符串。在Python中,字符串前面可以加上不同的前缀来表示不同的字符串类型或处理方式。这些字符串前缀可以组合使用。
如何快速上手不熟悉的库 的代码,不要企图去一个个文件的找,当然也许能找到,但是会浪费一点时间,而快速的方法应该是ctrl+shift+f,或者你的编辑器的查找功能,搜索“自然段”这几个字,一般优秀的代码都一定会有详细的注释,要是没有,那就慢慢找吧。先看有没有文档和使用手册,一般都有一个quick_start.md文件或者其他的.md文件。首先需要一个编辑器vscode或者pycharm。然后,还是不急着看代码,先看代码的注释。然后,不要傻乎乎的自己急着去看代码。