语法:getTextSize(text,fontSize=24)
说明:获取text对应文本在字体大小为fontSize时的宽度和高度,单位为像素,返回的是一个宽度和高度二元组。
语法:readImgFile(filename,bConvertGray=False,bConvertBinImg=False,bConvertKernal = False)
说明:将图像文件读入,根据参数决定是否转换为灰度图、二值图和核矩阵,支持中文文件名和目录名的处理。
语法:replaceImgBySpecImgRefPoint(largeImg,largeImgRefPoint,smallImg,smallImgRefPoint,overlyBlackMaxValue=None)
说明:将一个小图像的内容copy到大图像中,要求小图像的smallImgRefPoint对应点和大图像的largeImgRefPoint对应点重合。largeImgRefPoint/smallImgRefPoint都是(X,Y)形式,其值都是对应点在自身图像的位置。overlyBlackMaxValue:为None表示大图像对应区域用小图像简单替代,否则根据smallImg是否有对应灰度值小于overlyBlackMaxValue的像素, 如果有结果图像中这部分像素则保持大图部分的像素不变,其他部分则使用小图对应像素替代返回已经copy或融合小图像的大图像
语法:replaceImgRegionBySpecImg(srcImg, regionTopLeftPos, specImg,overlyBlackMaxValue=None)
说明:该函数调用replaceImgBySpecImgRefPoint完成处理,将srcImg的regionTopLeftPos开始位置的一个矩形图像替换为specImg,用specImg对应图像的左上角与srcImg的regionTopLeftPos对齐。overlyBlackMaxValue: 为None表示大图像对应区域用小图像简单替代,否则根据smallImg是否有对应灰度值小于overlyBlackMaxValue的像素, 如果有结果图像中这部分像素则保持大图部分的像素不变,其他部分则使用小图对应像素替代。返回已经copy或融合小图像的大图像。
语法:previewImg(img)
说明:调用操作系统默认图像阅读器预览img图像矩阵对应图像。
语法:preparePreviewImg(imgTitle=None,img=None,firstImg=False,fontSize=36,color=(0,0,255))
说明:将图像img加到预览图像列表,在图像下方增加imgTitle对应的文字说明,firstImg如果为True,将前面已经放到预览列表的图像清空。注意加入进去后并不立即显示图像,只有后续调用previewImgList函数时才会将在列表中所有图像一起在一个大合成图片中显示。该函数会返回img下方添加了imgTitle说明的图片矩阵,imgTitle的字体和颜色由fontSize和color指定。
语法:previewImgList()
说明:将通过preparePreviewImg放到列表中的图像合并排列后展示出来。
语法:imgAddText(img,text,fontSize=24,color=(0,0,255),vRefPos=‘B’,hRefPos = ‘C’,extendVPos=None,extendLines=0,extendColor=128)
说明:给图像增加文字,根据参数确认文字添加位置,并确认是否需要在图像顶部或底部增加图像高度
param img: 源图像
param text: 需要增加的文字
font:字体文件,或类似cv2.FONT_HERSHEY_SIMPLEX定义的字体,如font=‘STFANGSO.TTF’
fontSize:字体大小
color:字体颜色,BGR格式
param vRefPos:文字添加的垂直对齐方式,'T’为顶部对齐,'B’为底部对齐,正数字n顶部下移n行,负数底部上移n行
param hRefPos:水平对齐方式,'L’左对齐,'R’右对齐,'C’居中,数字n左边空n列
param extendVPos:在什么位置扩展图像高度,None不扩展,'T’顶部扩展,否则为底部扩展,参数vRefPos的对齐方式是基于扩展后的图像
param extendLines:扩展高度的列数
extendColor:扩展颜色
return:增加了文字的图像
语法:mergeImg(imgList)
说明:将imgList的图像矩阵列表中的图像合并成一张大图像。
语法:print2DMatrix(matrix)
说明:将2阶矩阵按照行和列方式打印输出每个元素
语法:cmpMatrix(m1,m2)
说明:比较两个矩阵是否一致,一致返回True,否则False。
语法:addWeightedDistinguishBLK(img1, alpha, img2, beta, sigma, gamma=0.0)
说明:相同大小的图像img1和img2权重相加,但图像img2中像素为黑色的部分取img1的像素权重为sigma, 参数img1, alpha, img2, beta, gamma与addWeighted的参数相同,sigma为img1中对应img2黑色部分范围的权重
语法:addWeightedSmallImgToLargeImgDstgshBLK(largeImg,alpha,smallImg,beta,sigma,gamma=0.0,regionTopLeftPos=(0,0))
说明:将小图像与大图像指定位置的内容融合,但对小图像透明部分单独处理,取大图像sigma的权重部分。
语法:constructAffineMatrix(rotationAngle=0,xShearAngle=0,yShearAngle=0,translationX=0,translationY=0,scaleX=1,scaleY=1)
说明:构建各种仿射变换的基础变换矩阵,详细参数及返回值如下:
:param rotationAngle: 旋转角度,图像旋转时使用,逆时钟为正、顺时针为负,如顺时针旋转30°,则值为-30
:param xShearAngle: 水平错切角,水平错切时使用
:param yShearAngle: 垂直错切角,垂直错切时使用
:param translationX: x轴平移距离
:param translationY: y轴平移距离
:param scaleX: 水平方向缩放因子
:param scaleY: 竖直方向缩放因子
:return: 构建的3*3矩阵
补充说明:
本函数只能构建旋转、错切、平移、缩放四种情况的一种矩阵,参数只取一种情况进行矩阵构造,
取的情况按照旋转、错切、平移、缩放从高到低的优先级排列,高优先级的值非0则低优先级的值忽略。
如果返回的矩阵为3*3矩阵,如果该矩阵立即调用warpAffine进行仿射变换,需要通过切片方式取前2行传入warpAffine,如果需要与其他仿射矩阵相乘,
则必须保持3*3矩阵,相乘的结果再进行切片处理,因为两个2*3的矩阵之间没法相乘(矩阵乘法要求第一个矩阵的列数等于第二个矩阵的行数)
语法:translation(img,x,y,size)
说明:对图像进行平移变换,img为输入图像,x、y分别表示x和y轴的平移距离,size为目标图像大小。
语法:matrixMultiply(*mList)
说明:对mList中对应的二维矩阵进行连乘,返回结果矩阵。
语法:constructRectFrom4Points(pointList)
说明:从4个点对应的四边形构建一个矩形。依据一个四边形构建一个和坐标轴平行的矩形,构建原则是取四边形左上角的点为矩形的左上角点,四边形上边和下边x、y坐标的最大差距作为矩形横边的边长,以及侧边的边长。
语法:overlyImgs(bottomImg,topImg,blackMaxVal=0)
说明:将两个图叠加,叠加时上层图非透明部分遮挡下层图对应部分,上层图透明部分则不遮挡下层图
blackMaxVal:灰度值小于等于该值的都作为透明黑色处理,如果是彩色图像则以彩色转灰度后的值作为比较
语法:addImgToLargeImg(smallImg,largeImg,largPos,blackMaxVal=0)
说明:将小图像放到大图像中,小图像左上角与大图像的largPos位置重合,叠加时上层图非透明部分遮挡下层图对应部分,上层图透明部分(灰度值小于等于blackMaxVal的像素)则不遮挡下层图
如果小图像放置到的位置导致小图像超出范围,则截掉超出范围的部分
如果largPos的坐标出现负数,则将小图像在负数范围内的内容去除,从该坐标为0的位置开始显现未截除部分
blackMaxVal:灰度值小于等于该值的都作为透明黑色处理,如果是彩色图像则以彩色转灰度后的值作为比较
语法:rotationImg(img,angle)
说明:将图像img逆时针旋转angle度,返回旋转后的图像。
阅读量:2021
点赞量:0
收藏量:0