opencv学习笔记3——图像缩放,翻转和阈值分割
#图像的缩放操作
#cv.resize(src,dsize,dst=None,,fx=None,fy=None,interpolation=None)
#src->原图像,dsize->目标图像的大小(列*行(和其他API不同),fx->相对于原图的水平轴比列,fy->相对于原图的竖直轴的比例
#interpolation—>插入方式 )(一般dsize和fxfy只设其一,会自动推算另一个)
image = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_UNCHANGED)
rows,cols,chn = image.shape
image2 = cv.resize(image,(round(cols*1),round(rows*1.2))) #cv.round()为四舍五入取整函数
cv.imshow("orginal",image)
cv.imshow("resize",image2)
cv.waitKey()
cv.destroyAllWindows()
#图像翻转 cv.flip(src,flipCode) src->原始图像 filpCode->翻转方式
#翻转方式有三种 0是水平翻转 >0表示绕垂直轴翻转 <0表示绕原点翻转 (只是这样说其实并没有xy坐标轴 :))
image = cv.imread("E:/pictures/1.jpeg")
image2 = cv.flip(image,-1)
#image3 = cv.flip(image,0)
#image4 = cv.flip(image,1)
cv.imshow("orginal",image)
cv.imshow("flip",image2)
cv.waitKey()
cv.destroyAllWindows()
图像的阈值分割:

五种阈值分割方法 (分别对应上图的2~6):(主要是为了对灰度图像去噪)
- 二值阈值化:将大于阈值的像素置位设置的最大值,小于的设为0
- 反二值阈值化:将大于阈值的像素置为0,小于的置为255
- 截断阈值化:大于阈值的像素置为阈值,小于的不变
- 阈值化为0,:将大于阈值的置为0,小于的不变
- 反阈值化为0:将小于阈值的置为0,大于的不变






(以上图片结果是按顺序排列的。。。。。。)
#图像的阈值分割 retval,dst = cv.threshold(src,thresh,maxval,type)
#retval 阈值 dst 结果图 ,src 原图 thresh 阈值 ,maxval 最大值 ,type 分割方式
img = cv.imread("E:/pictures/lena.jpg",cv.IMREAD_GRAYSCALE)
r1,b1 =cv.threshold(img,128,255,cv.THRESH_BINARY) #二值阈值化 (将亮的变为最大,暗的变为0)
r2,b2 =cv.threshold(img,128,255,cv.THRESH_BINARY_INV) #反二值阈值化 (将亮的变为0,暗的变为最大)
r3,b3 =cv.threshold(img,128,255,cv.THRESH_TRUNC) #截断阈值化 (将亮的变为阈值)
r4,b4 =cv.threshold(img,128,255,cv.THRESH_TOZERO) #阈值化为0 (将亮的变为0,暗的不变)
r5,b5 =cv.threshold(img,128,255,cv.THRESH_TOZERO_INV) #反阈值化为0 (将暗的变为0,亮的不变)
cv.imshow("orginal",img)
cv.imshow("BINARY",b1)
cv.imshow("BINARY_INV",b2)
cv.imshow("TRUNC",b3)
cv.imshow("TOZERO",b4)
cv.imshow("TOZERO_INV",b5)
cv.waitKey()
cv.destroyAllWindows()
opencv学习笔记3——图像缩放,翻转和阈值分割的更多相关文章
- [OpenCV学习笔记3][图像的加载+修改+显示+保存]
正式进入OpenCV学习了,前面开始的都是一些环境搭建和准备工作,对一些数据结构的认识主要是Mat类的认识: [1.学习目标] 图像的加载:imread() 图像的修改:cvtColor() 图像的显 ...
- OpenCV学习笔记(10)——图像梯度
学习图像梯度,图像边界等 梯度简单来说就是求导. OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Lapacian.Sobel,Scharr其实就是求一阶或二阶导. ...
- OpenCV学习笔记(7)——图像阈值
简单阈值,自适应阈值,Otsu's二值化等 1.简单阈值 当像素值高于阈值时,我们给这个像素赋予一个新值,否则给他赋予另一个值.这个函数就是cv2.threshhold().这个函数的第一个参数就是原 ...
- opencv学习笔记(七)---图像金字塔
图像金字塔指的是同一图像不同分辨率的子图的集合,有向下取样金字塔,向上取样金字塔,拉普拉斯金字塔....它是图像多尺度表达的一种,最主要的是用于图像的分割 向下取样金字塔指高分辨率图像向低分辨率图像的 ...
- opencv学习笔记(六)---图像梯度
图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 这些算子的原理可参考:https://blog.csdn.net/poem_q ...
- opencv学习笔记(五)----图像的形态学操作
图像的形态学操作有基本的腐蚀和膨胀操作和其余扩展形态学变换操作(高级操作)-----开运算,闭运算,礼帽(顶帽)操作,黑帽操作...(主要也是为了去噪声,改善图像) 形态学操作都是用于处理二值图像(其 ...
- OpenCV学习笔记(3)——图像的基本操作
获取图像的像素值并修改 获取图像的属性(信息) 图像的ROI() 图像通道的拆分及合并 1.获取并修改像素值 先读入图像装入一个图像实体,然后该实体相当于一个多维list,可以直接用数组操作提取像素信 ...
- (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
首页 视界智尚 算法技术 每日技术 来打我呀 注册 OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
随机推荐
- ubuntu12 安装redis和phpRedisAdmin详细流程
一.Ubuntu安装redis(redis默认端口6379) 方式一.直接下载源码,编译(redis可以编译源码之后直接运行,不需要安装) 1.1执行命令,从官网下载源码编译: $ wget http ...
- C++深度解析教程学习笔记(6)对象的构造和销毁
1. 对象的初始化 (1)从程序设计的角度看,对象只是变量,因此: ①在栈上创建对象时,成员变量初始化为随机值 ②在堆上创建对象时,成员变量初始化为随机值 ③在静态存储区创建对象时,成员变量初始化为 ...
- html收藏
全屏显示<input type="button" name="fullscreen" value="全屏显示" onclick=&qu ...
- NMS:Non-maximum Suppression学习笔记
非极大值抑制可看成一种局部极大值搜索,这里的局部极大值要比他的邻域值都要大.这里的邻域表示有两个参数:维度和n-邻域.维度有1-D,2-D,3-D...:至于n值根据具体情况设置.举个例子:一维的情况 ...
- Django模板语言之组合搜索
url.py from django.conf.urls import url from django.contrib import admin from app01 import views url ...
- as+bt=1是ab两数互质的充要条件
[as+bt=1是ab两数互质的充要条件] 充分性,as+bt=1 => (a,b)=1: 因为as+bt=1,设c=(a,b),则c整除a和b,所以c整除as+bt,即c整除1,所以c=1,即 ...
- 构造方法概念,自定义构造(init)方法的用途, 类工厂方法(就是直接用类名 类调用)
一. 构造方法 构造方法:在OC中init开头的方法, 我们称之为构造方法 构造方法的用途: 用于初始化一个对象, 让某个对象一创建出来就拥有某些属性和值 // 比如我们定义一个Person的类,然后 ...
- 17-取石子-hdu1846(巴什博奕)
http://acm.hdu.edu.cn/showproblem.php?pid=1846 Brave Game Time Limit: 1000/1000 MS (Java/Others) ...
- 利用arcgis实现经纬度和平面坐标互转
一平面直角坐标(投影坐标)转经纬度 基本程序是这样的 经纬度计算操作 1. 定义坐标系:在AreToolbox下→数据管理工具→投影和变换→定义投影→输入数据或要素点击▼选择定义同层(同时在坐标系中点 ...
- URL 与 URI
http://localhost:8080/TEST_Servlet/ClientRequest/test?name=wr getRequestURL:http://localhost:8080/TE ...