图像处理
Ethan的博客
博主技术交流Q群:1151493105
展开
-
图像处理:针对目标特征的数据增强——颜色变换(一)
一 业务需求在图像检测项目中,有些采集的图片数据与天气或季节变换有关,但由于一些限制条件,无法采集到全年的图片数据,所以需要通过现有的数据,比如只采集到第一季度的图片,对图片进行数据增强。假设现在的少量图片,检测目标在labelimg软件中已经标记出来,生成了xml文件。通过观察,目标特征在颜色上有很明显特征,比如多数为蓝色和红色。因为天气和季节的变换,全年采集到的图片,其特征的颜色深度和亮度应...原创 2019-04-21 22:33:50 · 4878 阅读 · 0 评论 -
图像处理:根据像素坐标及像素尺寸大小裁剪遥感影像
1 需求对于遥感影像,在制作数据集中需要裁剪固定尺寸大小的图片,本来打算用通用一点的软件arcgis实现,但在arcgis中的裁剪功能设置裁剪位置的单位是十进制度的,这个单位也不知道怎么改变为像素单位,最后没办法,使用了下面两种方式实现!2 方法方法一使用PIE-Basic软件,这款软件是北京航天宏图研发的,具体操作如下:1·打开软件,加载原始影像数据,找到感兴趣区域,使用探针工具找到中...原创 2019-05-31 19:17:02 · 6157 阅读 · 8 评论 -
Python-OpenCV读取中文路径下的图片
读取图片img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)其中:img_path为读取图片路径及图片名,可以包含中文保存图片cv2.imencode('.jpg', src)[1].tofile(save_path)其中:’.jpg’为保存文件格式,src为图片数据,save_path为保存图片路径及图片名,可以包...原创 2019-06-05 14:05:49 · 2937 阅读 · 1 评论 -
填坑:运行srs.ImportFromEPSG(4326),出现ERROR 4:Unable to open EPSG support file gcs.csv
一 背景使用Python代码及gdal函数包创建了一个矢量图,但是在添加坐标信息时一直报错代码如下:srs = osr.SpatialReference() # 创建空间参考坐标系,WGS1984srs.ImportFromEPSG(4326)报错如下:ERROR 4: Unable to open EPSG support file gcs.csv. Try setting th...原创 2019-05-11 17:17:13 · 7474 阅读 · 1 评论 -
图像处理:图像HSV通道的取值范围官方计算公式及代码实现
一 疑问最近在做相关图片通道从RGB转到HSV时一直存在疑问?在网上找的计算公式都是说:色调H:0°~360°;饱和度S:0.0~1.0;亮度V:0.0~1.0。但计算公式中:V=max(R,G,B),那V的范围应该是0~255才对啊,怎么会是0-1呢?另外,OpenCV给出的范围分别如下,怎么和计算公式的范围又不一样呢?H: 0 — 180S: 0 — 255V: 0 —...原创 2019-05-07 13:49:21 · 8099 阅读 · 1 评论 -
图像处理:图片像素深度unit16位转unit8位
一 背景遥感图像一般像素深度比较高,基本的就是unit16了,但是如果想在OpenCV中正确使用,而且不丢失数据RGB三通道信息,就需要转为unit8才能进行其他分析。二 分析unit16的图像最大值为216-1 = 65535,而OpenCV中的图像最大值为28-1 = 255,当大于255时会自动变为255,这样数据信息就丢失了。下面代码采用的方式是线性缩放,将0到65535的数值线性缩...原创 2019-04-29 12:51:37 · 11506 阅读 · 7 评论 -
图像处理:针对目标特征的数据增强——颜色变换(二)
# coding: utf-8import osimport sysfrom cv2 import cv2import numpy as npimport xml.etree.ElementTree as ETimport shutil#各种蓝色的HSV值blues =[ [120, 255, 77], [120, 255, 128], [120, 255, 179], ...原创 2019-04-29 10:33:06 · 2183 阅读 · 2 评论 -
图像处理:Python代码计算图像对比度
一 图像对比度理论知识1 定义对比度:通俗地讲就是亮暗的拉伸对比程度,通常表现了图像画质的清晰程度。对比度的计算公式如下:2 计算案例解释一下最后的48是怎么来的:其实就是总的平方次数二 代码实现from cv2 import cv2import numpy as npdef contrast(img0): img1 = cv2.cvtColor(img0, cv...原创 2019-04-28 22:14:17 · 18981 阅读 · 24 评论 -
图像处理:使用金字塔进行图像无缝融合(OpenCV官网代码的纠正)
一 问题介绍图像金字塔的一个应用是图像融合。例如,在图像缝合中,你需要将两幅图叠在一起,但是由于连接区域图像像素的不连续性,整幅图的效果看起来会很差。这时图像金字塔就可以排上用场了,他可以帮你实现无缝连接。这里的一个经典案例就是将两个水果融合成一个,看看下图也许你就明白我在讲什么了。二 实现步骤读入两幅图像,苹果和句子构建苹果和橘子的高斯金字塔(5 层)根据高斯金字塔计算拉普拉斯金字...原创 2019-04-23 16:18:18 · 2534 阅读 · 3 评论 -
图像处理:裁剪卫星影像.tif图片为多个图片,同时保持各图片的空间位置不变
语言:Python,主要函数包:gdal,代码如下:import gdal# 读取要切的原图in_ds = gdal.Open("1060_50.tif")print("open tif file succeed")width = in_ds.RasterXSize # 获取数据宽度height = in_ds.RasterYSiz...原创 2019-04-17 17:07:21 · 6584 阅读 · 7 评论 -
图像处理:像素点的RGB与HSV相互转换
在网上看了很多关于像素点的RGB与HSV互转的算法代码,感觉都有问题,与实际情况相差很大,所以自己换了另外一种思路!1 RGB转HSV思路:根据点的RGB,生成一张2x2的图片,调用OpenCV中的cv2.cvtColor()函数,将RGB图片转为HSV图片,最后取出一个像素点的HSV值。代码如下:from cv2 import cv2import numpy as np#由三种蓝色的...原创 2019-04-22 14:02:24 · 5242 阅读 · 0 评论 -
图像处理:批量将图片格式为.tif转成.jpg
语言:Python,主要使用函数包:opencv,代码如下:import osimport cv2 path = os.getcwd() #获取当前代码文件的路径tif_list = [x for x in os.listdir(path) if x.endswith(".tif")] #找到当前路径下的所有.tif文件for num, i in enumerate(tif_list...原创 2019-04-17 16:29:47 · 9688 阅读 · 5 评论 -
图像处理:将栅格图的数值1改为数值255
因为加载的图片的卫星影像,大小1G多,所以使用了GDAL函数包,代码如下:import gdalimport numpy as nppath = 'zy302a_mux_013000_887134_20181002110440_01_sec_0004_1811018829_ORTHO_PSH.tif' #只需要tif文件root_path = 'D:\\Data\mask\\'+pat...原创 2019-04-17 16:20:26 · 1923 阅读 · 0 评论 -
完美解决import cv2 出现 ImportError:DLL load fail:找不到指定模块
一 网上的解决办法电脑上没安装vs2015,缺少XXX.dll文件,下载安装一个就好了;pip install opencv-python自动安装的版本有问题,要卸载,然后去官网或者清华镜像下载对应自己python和windows系统版本、位数的whl文件安装,还说一定要离线安装;cv2目录中或者opencv开头的dll文件放到cv2目录,再把cv2移动到Lib下;把python3.dl...原创 2019-06-07 20:58:03 · 4922 阅读 · 0 评论