基于python的空域变换
空域变换
- 空域变换
- 加法运算
- 减法运算
- 乘法运算
- 逻辑运算
- 缩放
- 平移
- 旋转
- 后续
- 空域:是指图像所在的平面,即像素位置所在的空间。
- 空域变换:对像素点的位置和灰度值根据图像变化目的需要,对图像矩阵进行运算操作,形成另一幅图像。
- 空域变换分类:算术逻辑变换、几何变换、灰度变换、直方图变换。
主要应用
- 去除叠加性噪声
- 生成图像叠加效果
import cv2 as cv
img1 = cv.imread("1.jpg")
img2 = cv.imread("2.jpg")
print(img1.shape,img2.shape)
img1=cv.resize(img1,(img2.shape[1],img2.shape[0]))
image=cv.addWeighted(img1,0.6,img2,0.4,0.0,)
cv.imshow('img1',image)
cv.waitKey(0)
cv.destroyAllWindows()
“主要运用”
- 显示两幅图像的差异,检测同一场景两幅图像之间的变化,如:视频中镜头边界的检测
- 去除不需要的叠加性图案
- 图像分割:如分割运动的车辆,减法去掉静止部分,剩余的是运动元素和噪声
import cv2 as cv
img1=cv.imread('5.png')
img2=cv.imread('6.png')
#img1=cv.imread('LinuxLogo.jpg')
#img2=cv.imread('WindowsLogo.jpg')
dst=cv.add(img1,img2)
dst1=cv.subtract(img1,img2)
cv.imshow('dst',dst1)
cv.imshow('dst1',dst)
cv.waitKey(0)
cv.destroyAllWindows()
主要应用 图像的局部显示,如:用二值蒙板图像与原图像做乘法
import cv2 as cv
img1=cv.imread('5.png')
img2=cv.imread('6.png')
dst=img1*img2
cv.imshow('181360152',dst)
cv.waitKey(0)
cv.destroyAllWindows()
- 非运算主要运用:图像求反,g(x,y)=255-f(x,y)
- 与运算主要用于:两个图像相交子集,提取感兴趣子图像,g(x,y)=f(x,y)^h(x,y)
import cv2 as cv
img1=cv.imread('LinuxLogo.jpg')
img2=cv.imread('WindowsLogo.jpg')
and_img=cv.bitwise_and(img1,img2)
or_img=cv.bitwise_or(img1,img2)
not_img=cv.bitwise_not(img1)
xor_img=cv.bitwise_xor(img1,img2)
cv.imshow('181360152',and_img)
cv.imshow('181360152zhang',or_img)
cv.imshow('181360152yang',not_img)
cv.imshow('181360152-',xor_img)
cv.waitKey(0)
cv.destroyAllWindows()
import cv2
import math
import numpy as np
class Img:
def __init__(self,image,rows,cols,center=[0,0]):
self.src=image #原始图像
self.rows=rows #原始图像的行
self.cols=cols #原始图像的列
self.center=center #旋转中心,默认是[0,0]
def Move(self,delta_x,delta_y): #平移
#delta_x>0左移,delta_x0上移,delta_y1表示缩小;factor0表示逆时针旋转;beta=self.rows or y>=self.cols or x=self.cols or x=self.cols or x
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?