python
文章平均质量分 62
kami_ys
平凡有一点理想
展开
-
红外小目标:DNANet网络结构与模型搭建
考虑到红外小目标的小的特性,作者设计了一个专门的模块来提取深层特征的同时维护深层小目标的表示。原创 2022-08-25 16:35:44 · 6879 阅读 · 10 评论 -
图像的表示与通道数问题、读取并展示图片、cv2.imread(filename, flags=None)
图像的表示与通道数问题、读取并展示图片、cv2.imread(filename, flags=None)原创 2022-08-23 09:36:31 · 1934 阅读 · 0 评论 -
OSError: image file is truncated与PIL.UnidentifiedImageError: cannot identify image file的解决方案
错误OSError: image file is truncated,又或者是PIL.UnidentifiedImageError: cannot identify image file的解决方案。原创 2022-08-23 00:25:15 · 2533 阅读 · 0 评论 -
红外小目标:AGPCNet网络结构与模型搭建
红外小目标探测是对地观测、军事侦察、救灾等诸多领域的重要课题,近年来受到广泛关注。提出了一种注意力引导的金字塔上下文网络(AGPCNet)算法。它的主要组成部分是注意引导上下文块(AGCB)、上下文金字塔模块(CPM)和非对称融合模块(AFM)。AGCB将特征映射划分为补丁计算局部关联,并使用全局上下文关注(Global Context Attention, GCA)计算语义之间的全局关联,CPM集成多尺度AGCBs的特征,AFM从特征融合的角度集成底层语义和深层语义,提高特征的利用率。实验结果表明,A..原创 2022-08-18 16:42:40 · 2789 阅读 · 4 评论 -
opencv-python学习(十五):图像梯度
1、索贝尔算子def sobel_image(image): grad_x = cv.Sobel(image, cv.CV_32F, 1, 0) # x方向导数 grad_y = cv.Sobel(image, cv.CV_32F, 0, 1) # y方向导数 gradx = cv.convertScaleAbs(grad_x) grady = cv.convertScaleAbs(grad_y) cv.imshow("xDireaction", gradx)原创 2021-07-26 17:25:57 · 275 阅读 · 0 评论 -
opencv-python学习(十三):图像二值化
图像的二值化:就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。基于图像的直方图来实现的,0白色 1黑色一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(Binarization)...原创 2021-07-20 17:21:51 · 894 阅读 · 1 评论 -
python操作mysql
先安装pymysql包,PyCharm很方便可以安装连接数据库#引入安装好的pymysql包import pymysql# 打开数据库连接,不需要指定数据库,因为需要创建数据库conn = pymysql.connect(host='localhost', user="root", password="579041", database="db_python", charset="utf8")# 获取游标cursor=conn.cursor()创建db_python数据库#原创 2021-07-19 17:56:05 · 87 阅读 · 0 评论 -
opencv-python学习(十二):模板匹配
十二、模板匹配模板匹配:通俗讲就是以图找图,通过图中的一部分来找它在图中的位置执行模板匹配,采用的匹配方式有三种cv.TM_SQDIFF_NORMED:用两者的平方差来匹配,最好的匹配值为0;cv.TM_CCORR_NORMED:用两者的乘积匹配,数值越大表明匹配程度越好,cv.TM_CCOEFF_NORMED:用两者的相关系数匹配,1表示完美的匹配,-1表示最差的匹配代码如下:# 引入包import cv2 as cvimport numpy as npdef template_原创 2021-07-16 16:26:10 · 369 阅读 · 0 评论 -
opencv-python学习(十一):图像直方图
一、安装matplotlib 在cmd环境下,按照自己安装的python位置进入Scripts目录下,输入命令:pip install matplotlib或者在pyCharm中安装包二、绘出图片的直方图代码如下:import cv2 as cvfrom matplotlib import pyplot as pltdef hist_image(image): color = ("blue", "green", "red") for i, color in enume原创 2021-07-16 16:21:36 · 134 阅读 · 0 评论 -
opencv-python学习(十):利用卷积对图像模糊处理
代码如下:原创 2021-07-02 15:26:45 · 1305 阅读 · 0 评论 -
opencv-python学习(九):图片填充 — 漫水填充(floodFill)
一、指定颜色填充代码如下:# 引入包import cv2 as cvimport numpy as npdef fill_image(image): copyImage = image.copy() # 复制原图像 h, w = image.shape[:2] # 读取图像的宽高 mask = np.zeros([h+2, w+2], np.uint8) # 新建图像矩阵 +2是官方函数要求 #(0,80) 起始点,(0,100,255) 蓝色 ,(100,10原创 2021-07-01 16:13:09 · 1878 阅读 · 0 评论 -
opencv-python学习(八):图片切割、合并
原理通过操作图像矩阵来获取或合并指定位置的图像截取图片中的指定区域或在指定区域添加某一图片代码如下:# 引入包import cv2 as cvdef jie_image(src1): src2 = src1[369:637, 572:922] # 截取指定的区域 cv.namedWindow("splice", cv.WINDOW_NORMAL) cv.imshow("splice", src2) src1[169:437, 572:922] = src2 # 指原创 2021-07-01 14:04:59 · 865 阅读 · 0 评论 -
opencv-python学习(七):粗略的调整图片对比度和亮度
基本原理:两张图片合成先按原来的图片格式新建一个色素全为零的图片,然后按照两张图的比例不同来合成一张新图片代码如下:# 引入包import cv2 as cvimport numpy as npdef contrast_brightness_image(src1, a, g): h, w, ch = src1.shape # 获取shape的数值,height、width和通道 # 新建全零图片数组src2,将height、width,类型设置为原图片的通道类型(色素全为零,原创 2021-07-01 11:21:57 · 1425 阅读 · 0 评论 -
opencv-python学习(六):图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)
一、数值运算加减乘除opencv自带图片色素的处理函数相加:add() 相减:subtract() 相乘:multiply() 相除:divide()原理就是:通过获取两张(一次只能是两张)个图片的同一个位置的色素值来实现运算。运算的要求:两张图片的shape要一样。代码如下:def shu_image(src11, src22): src = cv.add(src11, src22) # 相加 cv.imshow("addImage",src) src =原创 2021-07-01 10:43:11 · 350 阅读 · 0 评论 -
opencv-python学习(五):色彩空间转换
一:调用转换函数实现图像色彩空间转换代码如下:# 引入包import cv2 as cvimport numpy as npdef color_space_demo(image): gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) #RGB 转换为 gray -- RGB转灰度图 cv.namedWindow("gray", cv.WINDOW_NORMAL) cv.imshow("gray", gray) hsv = cv原创 2021-07-01 09:52:56 · 1116 阅读 · 0 评论 -
opencv-python学习(四):numpy操作数组输出图片
一、读取一张图片,修改颜色通道后输出可以得到图像的:行数,列数,通道数的矩阵,对矩阵进行操作可改变图像像素代码如下:# numpy数组操作def access_pixles(image): print(image.shape) height = image.shape[0] # 图片垂直尺寸 width = image.shape[1] # 图片水平尺寸 channel = image.shape[2] # 图片通道数 print("width: %s, he原创 2021-06-30 16:52:38 · 823 阅读 · 0 评论 -
opencv-python学习(三):调用摄像头或打开视频文件
代码如下:# 引入包import cv2 as cvdef video_demo(): capture = cv.VideoCapture("./static/video/test1.mp4") # 打开摄像头,0代表的是设备id,如果有多个摄像头,可以设置为其他数值;也可以是视频文件地址,调用视频文件,如果要播放要设置帧的循环 while True: ret, frame = capture.read() # 读取摄像头,它能返原创 2021-06-30 16:34:24 · 180 阅读 · 0 评论 -
opencv-python学习(二):打印图片的属性,并另存为图片
代码如下:# 引入包import cv2 as cvimport numpy as npdef get_image_info(image): # 定义函数获取图片信息并输出 print(type(image)) # 显示图片类型 numpy类型数组 print(image.shape) # 图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成 print(i原创 2021-06-30 16:27:31 · 345 阅读 · 0 评论 -
(一)图像的表示与通道数问题、读取并展示图片
图像的表示与通道数问题数字图像的基本概念对于一幅的数字图像,我们看到的是 肉眼可见的一幅真正的图片,但是计算机看来,这副图像只是一堆亮度各异的点。一副尺寸为 M × N 的图像可以用一个 M × N 的矩阵来表示,矩阵元素的值表示这个位置上的像素的亮度,一般来说像素值越大表示该点越亮。一般来说,灰度图用 2 维矩阵表示,彩色(多通道)图像用 3 维矩阵(M× N × 3)表示。————————————————————————————————————————通道数问题描述一个像素点,如果是灰度,那原创 2021-06-30 16:23:09 · 3202 阅读 · 1 评论