当前位置: 首页 > news >正文

网校网站怎么做实时热搜榜

网校网站怎么做,实时热搜榜,排名优化的公司,成免费的crm图像预处理 在计算机视觉和图像处理领域,图像预处理是一个重要的步骤,它能够提高后续处理(如特征提取、目标检测等)的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法,常见的操作包括图像空间转换、图像大小调…

图像预处理

在计算机视觉和图像处理领域,图像预处理是一个重要的步骤,它能够提高后续处理(如特征提取、目标检测等)的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法,常见的操作包括图像空间转换、图像大小调整、图像仿射变换、图像翻转、图像裁剪、图像二值化处理、图像去噪、边缘检测、图像平滑处理和图像形态学等。

图像翻转

cv2.flip 是 OpenCV 库中的一个函数,用于翻转图像。翻转可以是水平翻转、垂直翻转或同时水平和垂直翻转。该函数接受两个参数:要翻转的图像和一个指定翻转类型的标志。示例代码展示了如何使用 cv2.flip 进行图像翻转。

import cv2

img = cv2.imread(r'C:\Users\My Documents\car.png')
#翻转 0:垂直翻转  1: 水平翻转  -1 是水平垂直翻转
f_img = cv2.flip(img,-1)

cv2.imshow("old",img)
cv2.imshow("new",f_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像仿射变换

仿射变换是一种线性变换,保持了点之间的相对距离不变,即平行线在变换后仍然保持平行。在图像处理中,仿射变换常用于旋转、缩放、平移和剪切等操作。通过 cv2.getRotationMatrix2D 和 cv2.warpAffine 函数,可以实现图像的旋转、平移和缩放等操作。

图像旋转

旋转操作可以将图像绕着某个点旋转一定的角度。通过 cv2.getRotationMatrix2D 计算旋转矩阵,并使用 cv2.warpAffine 进行旋转操作。

import cv2

img = cv2.imread("images/car.png")
#获取图片的像素
(h,w) = img.shape[:2]
#旋转的坐标
center =(100,120)
#旋转的角度
du = 30
#获取图像矩阵
m = cv2.getRotationMatrix2D(center,du,1)
#图像旋转
w_img=cv2.warpAffine(img,m,(w,h))
cv2.imshow("image",w_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像平移

平移操作可以将图像中的每个点沿着某个方向移动一定的距离。通过定义平移矩阵并使用 cv2.warpAffine 进行平移操作。

import cv2
import numpy as np
img = cv2.imread("images/car.png")
(h,w) = img.shape[:2]
#定义平移水平和垂直移动的距离
ty = 0
tx = 100
#创建一个平移矩阵
t_img = np.float32([[1,0,tx],[0,1,ty]])
#t_img = cv2.getRotationMatrix2D((tx,ty),-1,1)
w_img = cv2.warpAffine(img,t_img,(w,h))

cv2.imshow("m",w_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像缩放

缩放操作可以改变图像的大小。通过定义缩放因子并使用 cv2.warpAffine 进行缩放操作。

import cv2
import numpy as np
img = cv2.imread("images/car.png")
(h,w) = img.shape[:2]
print(h,w)
#定义缩放的参数, 缩放的参数大于1的是放大,小于1 的是缩小
ww = 0.5
hh = 0.5
m = np.float32([[ww,0,0],[0,hh,0]])
#仿射变化
t_img = cv2.warpAffine(img,m,(int(w*ww),int(h*hh)))
(h,w) = t_img.shape[:2]
print(h,w)
cv2.imshow("m",t_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像剪切

剪切操作可以改变图像的形状,使其在某个方向上倾斜。通过定义剪切因子并使用 cv2.warpAffine 进行剪切操作。

import cv2
import  numpy as np

img = cv2.imread("images/car.png")
(h,w) = img.shape[:2]
#定义图像剪切的参数
sx = 0.2
sy =0.1
#定义矩形
m = np.float32([[1,sx,0],[sy,1,0]])
#图像剪切
i_img = cv2.warpAffine(img,m,(w,h))
cv2.imshow("o",img)
cv2.imshow("a",i_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像色彩空间转换

OpenCV中的色彩空间转换是将图像从一种颜色表示形式转换为另一种颜色表示形式的过程。常见的颜色空间包括RGB、HSV、YUV等。色彩空间转换在图像处理中非常重要,可以方便图像处理、提高图像处理效果和节省计算资源。

RGB 转 Gray(灰度)

将彩色图像转换为灰度图像,可以减少数据量并简化算法。通过 cv2.cvtColor 函数将图像从BGR转换为灰度图像。

import cv2

img = cv2.imread("images/car.png")
print(img)
#图像色彩空间转换
#opencv 默认的图像格式BGR
#COLOR_BGR2GRAY  把BGR图像转换成灰度图像
gay_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
print("--------------------------------------")
print(gay_img)
cv2.imshow("old",img)
cv2.imshow("new",gay_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

RGB 转 HSV

HSV(Hue, Saturation, Value)色彩空间在颜色分割和颜色识别中非常有用。通过 cv2.cvtColor 函数将图像从BGR转换为HSV颜色空间。

图像二值化处理

cv2.threshold 是 OpenCV 中用于图像二值化的函数。它通过设置阈值将图像分为前景和背景,常用于图像处理和分析。通过 cv2.threshold 函数可以将灰度图像转换为二值图像。

import cv2

img = cv2.imread("images/car.png")
#把图像转换成灰度图像
g_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#二值化处理
#rs 实际应用阈值,t_img 转换后的图像
rs,t_img = cv2.threshold(g_img,150,255,cv2.THRESH_BINARY)
cv2.imshow("aa",img)
cv2.imshow("a",t_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像掩模

cv2.inRange 函数用于创建掩模,以便从图像中提取特定颜色的区域。通过定义颜色范围并使用 cv2.inRange 函数创建掩模。

import cv2
import numpy as np

img = cv2.imread(r'My Documents\car.png')
#把图像转换为HSV空间
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
#获取蓝色所在范围
lower = np.array([101,100,50])
height = np.array([140,255,255])
#创建掩膜
mask = cv2.inRange(hsv_img, lower, height)
cv2.imshow('imp', img)
cv2.imshow('a', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()

 图像位与操作

cv2.bitwise_and 是 OpenCV 库中的一个函数,用于对两个图像进行按位与操作。这个操作会逐个像素地对两个输入图像进行比较,只有在两个像素均为 255(白色)时,输出的像素才会为 255(白色),否则输出为 0(黑色)。

图像检测轮廓

cv2.findContours 函数可以在二值图像中找到轮廓,并返回轮廓的点集。轮廓可以用来表示物体的边界,常用于物体检测、分割和形状分析。通过 cv2.findContours 函数查找轮廓,并通过 cv2.drawContours 函数绘制轮廓。

import cv2
import numpy as np
img =cv2.imread(r'C:\Users\My Documents\car.png')
# 将图像从 BGR 转换到 HSV 颜色空间
hsv_image = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义颜色范围,(蓝色区域)
lower = np.array([100, 100, 100])
upper = np.array([140, 255, 255])
# 使用 inRange 函数创建掩模
mask = cv2.inRange(hsv_image, lower, upper)
#二值化处理
ret,i_img = cv2.threshold(mask,120,255,cv2.THRESH_BINARY)
#获取图片的轮廓
myList,c = cv2.findContours(i_img,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)

num = len(myList)
print(f"长度={num}")
for c in myList:
    x,y,w,h = cv2.boundingRect(c)
    print(x,y,w,h )
    #画个矩形
    if w > 100 and h >45:
        cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
        #车牌切割
        qie_img = img[y:y+h,x:x+w]
cv2.imshow("a",qie_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

最小外接矩形

cv2.boundingRect 是 OpenCV 中用于计算轮廓的最小外接矩形的函数。这个函数可以返回一个包含轮廓的最小矩形的边界框,通常用于对象检测、图像分割等任务中。

http://www.yayakq.cn/news/163637/

相关文章:

  • 音乐网站设计模板郑州专业的网站建设
  • 电子商务网站建设方案书的总结重庆需要网站建设
  • 纯静态网站的用什么cms鹿泉区住房建设局网站
  • 网站建设到运营需要多少钱商标设计思路
  • 阿里云虚拟主机做2个网站吗大数据培训班
  • 上海高端网站定制上海cms建站模板
  • 淘客网站做百度推广网站排名优化外包公司
  • 浙江省网站集约化建设国外优秀ps网站
  • 个人网站做博客还是做论坛网站建设使用的什么软件有哪些方面
  • php做网站需要数据库吗青海青海西宁网站建设
  • 淘宝上做网站的生意怎么样哈尔滨网页设计公司
  • 长安做外贸网站ae成品免费下载网站
  • 学网站建设 去哪里wordpress数据库教程
  • dw做的网站设计wordpress完全卸载教程
  • flex布局做自适应网站重庆动画网站建设
  • 广东知名网站手机网站开发位置定位
  • 网站ico图标怎么做成都建设网站的公司有哪些
  • 网站建设项目资金申请报告套别人的网站模板吗
  • 中科诚建建设工程有限公司网站网站tag聚合怎么做
  • 综合性门户网站有做购物车的网站
  • 网站免费高清素材软件工商执照查询官网
  • 网站建设宏观环境小程序外包公司
  • 51建模网官方网站传媒公司起名
  • 如何新建网站dw弄个小程序要多少钱
  • 免费建一级域名网站qq推广赚钱一个2元
  • NET开发网站开发工程师招聘东营招聘网
  • 重庆哪家在做网站建设公益网站建设的意义
  • 网站怎么进入后台管理临高网站建设
  • 网站备案查询主办单位性质为个人常州住房和城乡建设局网站首页
  • 世纪购网站开发招聘wordpress新页面代码