当画一个较大的工程流程图,或者逻辑梳理时,往往一个过程的内容注解会很多,直接画出的流程图,所有文字都在一行,完全看不清楚流程图的具体内容,你可能和我由相同的困扰,下这样的情况。
Created with Raphaël 2.2.0
开始
读入配置参数----相机参数,和dmWidthWrd的值
读入相机拍摄的图片(640*480),resize(320,240)缩小2倍
二值化,提取ROI区域
依据findContours()寻找照片中的所有二维码的轮廓的最小外切矩阵
对计算的最小外切矩阵的的尺寸,
比例给出约束条件,防止图片变形扭曲严重。
计算最小外接矩形中心点到原图中心点(160,120)的距离,
依据距离从小到大排序,只对最接近摄像头的矩形进行提取
dataMatrix提取
因为opencv提取的最小外切矩阵,太靠近图片中二维码,为了避免读取不全,采用extLen扩展opencv提取的最小外切矩阵
将提取的矩形区域,即包含二维码的矩形,
放大2倍即还原到原来的大小,保证读取二维码数据的准确。
如果拍摄的图片歪曲,即二维码发生一定仿射变换,通过cutImg()在原始图片中指定一个较好的矩形区域dstTri[4],将还原的二维码矩阵与其进行仿射变换,求得仿射变换矩阵,并将原图矫正--即矫正了二维码的仿射变换。
二维码的解码,判断是控制码还是定位精度码。
流程图画好了,但是完全不能看清楚,需要放大,但是如果可以直接换行,就会很方便了,像这样。
Created with Raphaël 2.2.0
开始
读入配置参数----相机参数,和dmWidthWrd的值
读入相机拍摄的图片(640*480),resize(320,240)缩小2倍
二值化,提取ROI区域
依据findContours()寻找照片中的所有二维码的轮廓的最小外切矩阵
对计算的最小外切矩阵的的尺寸,比例给出约束条件,防止图片变形扭曲严重。
计算最小外接矩形中心点到原图中心点(160,120)的距离,
依据距离从小到大排序,只对最接近摄像头的矩形进行提取
dataMatrix提取
因为opencv提取的最小外切矩阵,太靠近图片中二维码,
为了避免读取不全,采用extLen扩展opencv提取的最小外切矩阵
将提取的矩形区域,即包含二维码的矩形,放大2倍即还原到原来的大小,
保证读取二维码数据的准确。
如果拍摄的图片歪曲,即二维码发生一定仿射变换,
通过cutImg()在原始图片中指定一个较好的矩形区域dstTri[4],
将还原的二维码矩阵与其进行仿射变换,求得仿射变换矩阵,--即矫正了二维码的仿射变换。
二维码的解码,判断是控制码还是定位精度码。
sortRectPoint()对二维码的顶点以顺时针排序。
dmCornerDetect()提取最小外切矩阵的所有点,
通过拟合求实际点,再求直线方程,求出交点,近似认为是二维码的顶点。
通过dmWidthWrd_计算图片的坐标系。
affinPos()通过相机参数和二维码顶点坐标值仿射变换求得,
二维码的位置和距离相机的长度(,即相机的高度)。
结束
看起来就很舒服了。
是这样处理的 : 在你想换行的语句处,回车一下就可以实现这样的两行显示效果,三行也是这样
举个栗子: 全部在一行,没有换行符
```mermaid
flowchat
st= > start: 开始
e= > end: 结束
op= > operation: 如果拍摄的图片歪曲,即二维码发生一定仿射变换,通过cutImg ( ) 在原始图片中指定一个较好的矩形区域dstTri[ 4 ] ,将还原的二维码矩阵与其进行仿射变换,求得仿射变换矩阵,-- 即矫正了二维码的仿射变换。
cond= > condition: 确认?
st-> op-> cond
cond ( yes) -> e
cond ( no) -> op
执行结果:
Created with Raphaël 2.2.0
开始
如果拍摄的图片歪曲,即二维码发生一定仿射变换,通过cutImg()在原始图片中指定一个较好的矩形区域dstTri[4],将还原的二维码矩阵与其进行仿射变换,求得仿射变换矩阵,--即矫正了二维码的仿射变换。
确认?
结束
yes
no
举个栗子: 下面加入换行符
```mermaid
flowchat
st= > start: 开始
e= > end: 结束
op= > operation: 如果拍摄的图片歪曲,即二维码发生一定仿射变换,通过
cutImg ( ) 在原始图片中指定一个较好的矩形区域dstTri[ 4 ] ,将还原的二维
码矩阵与其进行仿射变换,求得仿射变换矩阵,-- 即矫正了二维码的仿射变
换。
cond= > condition: 确认?
st-> op-> cond
cond ( yes) -> e
cond ( no) -> op
执行结果:
Created with Raphaël 2.2.0
开始
如果拍摄的图片歪曲,即二维码发生一定仿射变换,通过
cutImg()在原始图片中指定一个较好的矩形区域dstTri[4],将还原的二维码矩
阵与其进行仿射变换,求得仿射变换矩阵,--即矫正了二维码的仿射变换。
确认?
结束
yes
no