OpenCV

OpenCV


OpenCV是一个开源的计算机视觉库


获取图片属性源码01(测试图片 )|02(图片大小、时间转字符串等)

copyMakeBorder 设置边框

src : 输入的图片
top, bottom, left, right :相应方向上的边框宽度
borderType:定义要添加边框的类型,它可以是以下的一种:
cv2.BORDER_CONSTANT:添加的边界框像素值为常数(需要额外再给定一个参数)
cv2.BORDER_REFLECT:添加的边框像素将是边界元素的镜面反射,类似于gfedcb|abcdefgh|gfedcba
cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT:和上面类似,但是有一些细微的不同,类似于gfedcb|abcdefgh|gfedcba
cv2.BORDER_REPLICATE:使用最边界的像素值代替,类似于aaaaaa|abcdefgh|hhhhhhh
cv2.BORDER_WRAP:不知道怎么解释,直接看吧,cdefgh|abcdefgh|abcdefg
value:如果borderType为cv2.BORDER_CONSTANT时需要填充的常数值。

constant = cv.copyMakeBorder(img, 120, 20, 20, 20, cv.BORDER_CONSTANT, value=[0, 255, 0])  # 绿色

源码01 | 测试图片


img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, img_threshold = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)

cvtColor()函数,用于在图像中不同的色彩空间进行转换

threshold函数
open cv3.0使用cv2.threshold()函数进行阈值化处理,该函数的语法格式为:

retval,dst = cv2.threshold(src, thresh, maxval, type)
retval代表返回的阈值
dst代表阈值分割结果图像,与原始图像具有相同的大小和类型
src代表要进行阈值分割的图像,可以是多通道的。
thresh代表设置的阈值
maxval代表当type参数为 THRESH_BINARY 或 THRESH_BINARY_INVl类型时,需要设定的最大值
type代表阈值分割的类型


key = cv2.waitKey(0)
if key == 27:  # 按esc键时,关闭所有窗口
print(key)
cv2.destroyAllWindows()

源码01 | 测试图片


读取图片坐标

源码01(测试图片 )|


读取图片HSV值

源码01(测试图片)|


雷达组合发射率

HSV数值范围:
05-10:HSV[104 186 241]
10-15:HSV[ 91 147 235]
15-20:HSV[ 52 193 250]
20-25:HSV[ 60 255 216]
25-30:HSV[ 60 255 144]
30-35:HSV[ 30 255 255]
35-40:HSV[ 25 255 231]
40-45:HSV[ 17 255 255]
45-50:HSV[ 0 255 255]
50-55:HSV[ 0 255 214]
55-60:HSV[ 0 255 192]
60-65:HSV[152 255 255]
65-70:HSV[145 255 180]
70-75:HSV[129 102 240]



源码01 | 02透明图 | 测试图片



源码01


切除雷达图(华南)色标区域源码01



源码01



源码01



源码01|02(输出每类格点的数量)


利用opencv-python绘制多边形框或(半透明)区域填充(可用于分割任务mask可视化)
关于opencv的imread的一点理解(opencv默认读取图片是按照BGR的顺序读取的)
opencv 实现特定颜色线条提取与定位操作







BypInformation