IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【OpenCV学习】【6】图像变换 -> 正文阅读

[人工智能]【OpenCV学习】【6】图像变换

图像变换

  • 图像放大

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("images/logo.jpg")

plt.imshow(img)

输出图像大小:

height,width,channel = img.shape
print(height,width,channel)

?

?放大图像:

resized_img = cv2.resize(img,(width*2,height*2),interpolation=cv2.INTER_LINEAR)#放大一倍
plt.imshow(resized_img)

print(resized_img.shape)#打印图像大小

??

  • ?图像缩小

small_img = cv2.resize(img,None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR)
plt.imshow(small_img)

print(small_img.shape)

cv2.resize(src, size, fx, fy, interpolation)

?src:原始图片

size:输出图像的大小

fx:水平方向的缩放比例

fy:垂直方向的缩放比例

interpolation:插值方式

插值方式有:

cv2.INTER_NEAREST : 最临近插值

cv2.INTER_LINEAR?: 双线性插值(默认方式)

cv2.INTER_CUBIC?: 三次样条插值

cv2.INTER_AREA?: 区域插值

  • 图像平移

import numpy as np
height,width = img.shape[:2]

M1 = np.float32([[1,0,100],[0,1,100]])#平移矩阵,100图像向右移动100个像素,向下移动100个像素
move_img = cv2.warpAffine(img,M1,(width,height))
plt.imshow(move_img)

  • ?图像旋转

height,width = img.shape[:2]
center = (width // 2.0,height // 2.0)#旋转的中心
M2 = cv2.getRotationMatrix2D(center,180,1)#180为逆时针旋转180°,1表示图像旋转过程中没有缩放
rotation_img = cv2.warpAffine(img,M2,(width,height))

plt.imshow(rotation_img)

  • 图像仿射变换

p1 = np.float32([[120,35],[215,45],[135,120]])
p2 = np.float32([[135,45],[300,110],[130,230]])
M3 = cv2.getAffineTransform(p1,p2)#计算一个变换矩阵
trans_img = cv2.warpAffine(img,M3,(width,height))

plt.imshow(trans_img)

?

  • 图像的裁剪

crop_img = img[50:250,100:300]
plt.imshow(crop_img)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 原图? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 裁剪后

  • ?图像的位运算

与运算:(01:0,10:0,00:0,11:1)

先创建两幅图片:

?

rectangle = np.zeros((300,300),dtype='uint8')#创建一张300*300的画布
#左上角坐标(25,25)右下角坐标(275,275)颜色255,线条-1
rect_img = cv2.rectangle(rectangle,(25,25),(275,275),255,-1)
plt.imshow(rectangle)

?

rectangle = np.zeros((300,300),dtype="uint8")#创建一张300*300的画布
#圆心坐标(150,150)半径150,颜色255,线条-1
circle_img = cv2.circle(rectangle,(150,150),150,255,-1)
plt.imshow(circle_img)

?

?

and_img = cv2.bitwise_and(rect_img,circle_img)
plt.imshow(and_img)

?或运算:(01:1,10:1,11:1,00:0)

or_img = cv2.bitwise_or(rect_img,circle_img)
plt.imshow(or_img)

异或运算:(01:1,10:1,00:0,11:0)

xor_img = cv2.bitwise_xor(rect_img,circle_img)
plt.imshow(xor_img)

  • ?图像的分离和融合

分离:

(B,G,R)=cv2.split(img)#分离
plt.imshow(B)#蓝色

(B,G,R)=cv2.split(img)#分离
plt.imshow(G)#绿色

?

(B,G,R)=cv2.split(img)#分离
plt.imshow(R)#红色

??

融合:

zeros = np.zeros(img.shape[:2],dtype="uint8")
plt.imshow(cv2.merge([B,zeros,zeros]))

?

zeros = np.zeros(img.shape[:2],dtype="uint8")
plt.imshow(cv2.merge([zeros,G,zeros]))

zeros = np.zeros(img.shape[:2],dtype="uint8")
plt.imshow(cv2.merge([zeros,zeros,R]))

  • 颜色空间color space

灰度:

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
plt.imshow(gray)

?

HSV(色度、饱和度、纯度):

hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
plt.imshow(hsv)

?lab:

lab = cv2.cvtColor(img,cv2.COLOR_BGR2LAB)
plt.imshow(lab)

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:14:30  更:2021-08-09 10:17:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 22:23:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码