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

琼海做网站公司wordpress 信用卡支付

琼海做网站公司,wordpress 信用卡支付,wordpress外贸企业模板,江苏省建设工程地方标准网站图像预处理 ​ 在计算机视觉和图像处理领域#xff0c;图像预处理是一个重要的步骤#xff0c;它能够提高后续处理#xff08;如特征提取、目标检测等#xff09;的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法#xff0c;以下是一些常见的图像预处理操作图像预处理是一个重要的步骤它能够提高后续处理如特征提取、目标检测等的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法以下是一些常见的图像预处理操作 图像色彩空间转换图像大小调整图像仿射变换图像翻转图像裁剪图像二值化处理图像去噪边缘检测图像平滑处理图像形态学 图像翻转 cv2.flip 是 OpenCV 库中的一个函数用于翻转图像。翻转可以是水平翻转、垂直翻转或同时水平和垂直翻转。这个函数接受两个参数要翻转的图像和一个指定翻转类型的标志。 函数签名 cv2.flip(src, flipCode[, dst]) - dst参数说明 src输入图像可以是任意类型和深度的多通道图像。 flipCode 指定翻转类型的整数标志 0沿 X 轴翻转垂直翻转1沿 Y 轴翻转水平翻转-1沿 X 轴和 Y 轴翻转同时水平和垂直翻转 dst可选参数输出图像。如果未提供输出图像将与输入图像具有相同的尺寸和类型。 示例 以下是一些使用 cv2.flip 的示例代码 import cv2# 加载图像 image cv2.imread(save_image/car.png) # 翻转: -1:水平和垂直 1:水平翻转0 垂直翻转 img cv2.flip(image, -1) # 显示原始图像和翻转后的图像 cv2.imshow(img, img) # 等待按键并关闭窗口 cv2.waitKey(0) cv2.destroyAllWindows()图像仿射变换 仿射变换Affine Transformation是一种线性变换它保持了点之间的相对距离不变即平行线在变换后仍然保持平行。在图像处理中仿射变换常用于旋转、缩放、平移和剪切等操作。 图像旋转 旋转操作可以将图像绕着某个点旋转一定的角度 实例代码 import cv2# 加载图像 image cv2.imread(images/car.png) # 获取图像的尺寸 (h, w) image.shape[:2] # 设置旋转中心和旋转角度 center (w // 2, h // 2) # 计算旋转矩阵 # 旋转角度可修改 angle 40 # 缩放比例 1.0 表示不缩放 M cv2.getRotationMatrix2D(center, angle, 1.0) # 进行旋转 rotated_image cv2.warpAffine(image, M, (w, h)) cv2.imshow(Rotated Image, rotated_image) # 等待按键并关闭窗口 cv2.waitKey(0) cv2.destroyAllWindows()cv2.getRotationMatrix2D 是 OpenCV 库中的一个函数用于获取旋转矩阵。这个函数主要用于图像的旋转变换。旋转矩阵是一个 2x3 的矩阵可以用来将图像围绕指定的中心点旋转指定的角度并且可以选择是否进行缩放。 函数签名 cv2.getRotationMatrix2D(center, angle, scale) - M参数说明 center旋转中心点的坐标格式为 (x, y)。angle旋转角度单位为度。正角度表示逆时针旋转负角度表示顺时针旋转。scale缩放比例。如果设置为 1则不进行缩放。 返回值 M2x3 的旋转矩阵。 示例 以下是一个使用 cv2.getRotationMatrix2D 的示例代码 cv2.warpAffine 函数 仿射变换 函数 cv2.warpAffine(src, M, dsize, dst) →src: 输入图像。M: 2x3 的变换矩阵类型为 np.float32。dsize: 输出图像的尺寸形式为 (width, height)。dst (可选): 输出图像。如果未提供则会自动创建一个新的图像。 图像平移 平移操作可以将图像中的每个点沿着某个方向移动一定的距离 import cv2 import numpy as np# 读取图像 img cv2.imread(images/car5.png) #获取图片像素 (h, w) img.shape[:2] # 定义平移矩阵 #tx 图片x轴移动200,ty是图片y轴移动50px tx, ty 200, 50 #获取平移矩阵 M np.float32([[1, 0, tx], [0, 1, ty]]) # 应用平移变换 translated cv2.warpAffine(img, M, (w, h)) # 显示结果 cv2.imshow(Translated Image, translated) cv2.waitKey(0) cv2.destroyAllWindows()其中tx 和 ty 分别表示在x轴和y轴方向上的平移距离。 图像缩放 缩放操作可以改变图像的大小 import cv2 import numpy as np# 读取图像 img cv2.imread(images/car5.png) h, w, channels img.shape # 定义缩放因子 sx, sy 1.5, 1.5 M np.float32([[sx, 0, 0], [0, sy, 0]]) # 应用缩放变换 scaled cv2.warpAffine(img, M, (int(w * sx), int(h* sy))) # 显示结果 cv2.imshow(Scaled Image, scaled) cv2.waitKey(0) cv2.destroyAllWindows()sx 和 sy 分别表示在x轴和y轴方向上的缩放因子。 图像剪切 剪切操作可以改变图像的形状使其在某个方向上倾斜 import cv2 import numpy as np# 读取图像 img cv2.imread(images/car5.png) rows, cols, _ img.shape # 定义剪切因子 shx, shy 0.2, 0.2 M np.float32([[1, shx, 0], [shy, 1, 0]]) # 应用剪切变换 sheared cv2.warpAffine(img, M, (cols, rows))# 显示结果 cv2.imshow(Sheared Image, sheared) cv2.waitKey(0) cv2.destroyAllWindows()图像色彩空间转换 OpenCV中的色彩空间转换是将图像从一种颜色表示形式转换为另一种颜色表示形式的过程。常见的颜色空间包括RGB、HSV、YUV等。 色彩空间转换有几个重要的作用 方便图像处理在不同的颜色空间中对应的通道代表了不同的属性例如在RGB空间中红、绿、蓝三个通道分别代表了颜色的强度而在HSV空间中H(色相)代表了颜色的种类S(饱和度)代表了颜色的深浅V(亮度)代表了颜色的明暗。因此对于不同的处理需求选择不同的颜色空间进行处理可以更加方便。提高图像处理效果在某些情况下使用某些特定的颜色空间可以提高图像处理的效果。例如在HSV空间中可以通过调整S(饱和度)和V(亮度)来提高图像的对比度并去除噪点。节省计算资源在某些情况下使用特定的颜色空间可以帮助我们节省计算资源。例如在RGB空间中每个像素需要3个通道来表示而在灰度空间中每个像素只需要一个通道就可以表示。因此如果我们只需要处理亮度信息而不需要颜色信息时将图像转换为灰度空间可以节省计算资源。 总之色彩空间转换在图像处理中是一项非常重要的技术它可以方便我们对图像进行处理并提高图像处理的效果和节省计算资源。 cv2.cvtColor()是OpenCV中的一个函数用于图像颜色空间的转换。它可以将一个图像从一个颜色空间转换为另一个颜色空间比如从RGB到灰度图像的转换或者从BGR到HSV的转换等。 函数的语法如下 cv2.cvtColor(src, code)参数说明 src输入图像可以是一个NumPy数组或者一个OpenCV的Mat对象。code指定转换的类型可以使用预定义的转换代码例如cv2.COLOR_BGR2GRAY表示从BGR到灰度图像的转换。 RGB 转 Gray灰度 RGB 转 Gray灰度将彩色图像转换为灰度图像可以减少数据量并简化算法。 image cv2.imread(../images/car.png)# 将图像从BGR到灰度图像的转换gray_image cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 显示原始图像和转换后的灰度图像cv2.imshow(old Image, image)cv2.imshow(new Image, gray_image)cv2.waitKey(0)cv2.destroyAllWindows()RGB 转 HSV RGB 转 HSVHSVHue, Saturation, Value色彩空间在颜色分割和颜色识别中非常有用。 import cv2 #在某些情况下使用某些特定的颜色空间可以提高图像处理的效果。 # 例如在HSV空间中可以通过调整S(饱和度)和V(亮度)来提高图像的对比度并去除噪 image cv2.imread(images/car.png) # 将图像从BGR到灰度图像的转换 image cv2.cvtColor(image, cv2.COLOR_BGR2HSV) #转换后的图像 cv2.imshow(new Image, image) cv2.waitKey(0) cv2.destroyAllWindows()图像二值化处理 案例 import cv2# 读取图像并转换为灰度图 image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)# 应用阈值 thresh_value 127 retval, binary_image cv2.threshold(image, thresh_value, 255, cv2.THRESH_BINARY)# 显示结果 cv2.imshow(原图, image) cv2.imshow(二值图像, binary_image) cv2.waitKey(0) cv2.destroyAllWindows()cv2.threshold 是 OpenCV 中用于图像二值化的函数。它通过设置阈值将图像分为前景和背景常用于图像处理和分析。以下是该函数的主要功能和用法简介 功能 cv2.threshold 将灰度图像转换为二值图像根据指定的阈值将像素值分为两类高于阈值的像素设为一个值通常是255低于阈值的像素设为另一个值通常是0。 语法 retval, dst cv2.threshold(src, thresh, maxval, type) 参数 src: 输入的灰度图像。 thresh: 阈值决定分割的界限。 maxval: 当像素值超过阈值时赋予的最大值通常为255。 type 阈值类型常用的有 cv2.THRESH_BINARY: 超过阈值的像素设为最大值其余设为0。cv2.THRESH_BINARY_INV: 超过阈值的像素设为0其余设为最大值。cv2.THRESH_TRUNC: 超过阈值的像素设为阈值其余不变。cv2.THRESH_TOZERO: 超过阈值的像素不变其余设为0。cv2.THRESH_TOZERO_INV: 超过阈值的像素设为0其余不变。 返回值 retval: 实际使用的阈值可能与输入值不同。dst: 输出的二值图像。 图像掩模 它通常用于创建掩模以便从图像中提取特定颜色的区域。 函数原型 cv2.inRange(src, lowerb, upperb) 参数 src: 输入的图像可以是彩色图像或灰度图像。lowerb: 颜色范围的下界数组或元组指定了要提取的颜色的最小值。upperb: 颜色范围的上界数组或元组指定了要提取的颜色的最大值。 返回值 返回一个二值图像白色部分表示在指定颜色范围内的区域黑色部分表示不在范围内的区域 案例 import cv2 import numpy as np# 读取图像 image cv2.imread(images/car.png) # 将图像从 BGR 转换到 HSV 颜色空间 hsv_image cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 定义颜色范围(蓝色区域) lower np.array([100, 100, 100]) upper np.array([140, 255, 255]) # 使用 inRange 函数创建掩模 mask cv2.inRange(hsv_image, lower, upper) cv2.imshow(01, mask) cv2.waitKey(0) cv2.destroyAllWindows()图像位与操作 cv2.bitwise_and() 是 OpenCV 库中的一个函数用于对两个图像进行按位与操作。这个操作会逐个像素地对两个输入图像进行比较只有在两个像素均为 255白色时输出的像素才会为 255白色否则输出为 0黑色。这个函数在图像处理中的应用非常广泛尤其是在掩膜和图像分割等任务中 函数原型 dst cv2.bitwise_and(src1, src2, maskNone) 参数说明 src1: 第一个输入图像。src2: 第二个输入图像。两幅图像应具有相同的尺寸和类型。mask: 可选参数用于指定一个掩膜。如果提供只有在掩膜的相应位置为非零时才会计算输出。 返回值 返回按位与操作后的图像dst。 案例 import cv2 import numpy as np# 读取图像 image cv2.imread(images/car.png) # 将图像从 BGR 转换到 HSV 颜色空间 hsv_image cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 定义颜色范围(蓝色区域) lower np.array([100, 100, 100]) upper np.array([140, 255, 255]) # 使用 inRange 函数创建掩模 mask cv2.inRange(hsv_image, lower, upper) #位与操作 image cv2.bitwise_and(image,image,maskmask) cv2.imshow(01, image) cv2.waitKey(0) cv2.destroyAllWindows()图像检测轮廓 cv2.findContours 函数可以在二值图像中找到轮廓并返回轮廓的点集。轮廓可以用来表示物体的边界常用于物体检测、分割和形状分析。 语法 contours, hierarchy cv2.findContours(image, mode, method)参数 image: 输入的二值图像。通常在调用该函数之前需要将图像转换为灰度图像并进行二值化处理如使用 cv2.threshold 或 cv2.Canny。 mode 轮廓检索模式 cv2.RETR_EXTERNAL: 只检索外部轮廓。cv2.RETR_LIST: 检索所有轮廓并将其放入列表中。cv2.RETR_TREE: 检索所有轮廓并建立层级关系。 method 轮廓逼近方法 cv2.CHAIN_APPROX_SIMPLE: 压缩轮廓仅保留端点。cv2.CHAIN_APPROX_NONE: 保留所有轮廓点。 返回值 contours: 一个 Python 列表其中每个元素是一个轮廓即一组点轮廓的点以 NumPy 数组的形式存储。hierarchy: 轮廓的层级信息包含轮廓之间的关系。 案例 import cv2# 读取图像并转换为灰度图像 image cv2.imread(images/car.png) # 将图像从BGR到灰度图像的转换 image cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 二值化处理 retval, binary_image cv2.threshold(image, 127, 255, cv2.THRESH_BINARY) # 查找轮廓 contours, hierarchy cv2.findContours(binary_image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)# 把灰度图像转换彩色图像 output_image cv2.cvtColor(binary_image, cv2.COLOR_GRAY2BGR) # 绘制轮廓 cv2.drawContours(output_image, contours, -1, (0, 255, 0), 2) # 显示结果 cv2.imshow(Contours, output_image) cv2.waitKey(0) cv2.destroyAllWindows()cv2.boundingRect 函数介绍 cv2.boundingRect 是 OpenCV 中用于计算轮廓的最小外接矩形的函数。这个函数可以返回一个包含轮廓的最小矩形的边界框通常用于对象检测、图像分割等任务中。最小外接矩形是一个完全包围轮廓的矩形其边与图像的坐标轴平行。 案例 import cv2# 读取图像并转换为灰度图像 image cv2.imread(images/car.png) # 将图像从BGR到灰度图像的转换 image cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 二值化处理 retval, binary_image cv2.threshold(image, 127, 255, cv2.THRESH_BINARY) # 查找轮廓 contours, hierarchy cv2.findContours(binary_image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)# 把灰度图像转换彩色图像 output_image cv2.cvtColor(binary_image, cv2.COLOR_GRAY2BGR) # 绘制轮廓 cv2.drawContours(output_image, contours, -1, (0, 255, 0), 2) # 在每个轮廓上绘制最小外接矩形 for contour in contours:#获取绘制轮廓的边界框x, y, w, h cv2.boundingRect(contour)cv2.rectangle(output_image, (x, y), (x w, y h), (0, 100, 0), 2) # 显示结果 cv2.imshow(Contours, output_image) cv2.waitKey(0) cv2.destroyAllWindows()练习 完成对车牌的分割提取 1 基于车牌是蓝色可以通过掩模找到车牌所在区域 import cv2 import numpy as np# 读取图像 image cv2.imread(../images/car.png)# 将图像从 BGR 转换到 HSV 颜色空间 hsv_image cv2.cvtColor(image, cv2.COLOR_BGR2HSV)# 定义颜色范围(蓝色区域) lower np.array([100, 100, 100]) upper np.array([140, 255, 255]) # 使用 inRange 函数创建掩模 mask cv2.inRange(hsv_image, lower, upper) cv2.imshow(Contours, mask) cv2.waitKey(0) cv2.destroyAllWindows()2 掩模返回一个二值对象可以通过图像轮廓检测检测当前掩码图像的轮廓 # 查找轮廓 contours, hierarchy cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)# 在每个轮廓上绘制最小外接矩形 for contour in contours:#获取绘制轮廓的边界框x, y, w, h cv2.boundingRect(contour)cv2.rectangle(image, (x, y), (x w, y h), (0, 255, 0), 2) # 显示结果 cv2.imshow(Contours, image) cv2.waitKey(0) cv2.destroyAllWindows()3 获取所有轮廓的边界框我们发现车牌轮廓也在期间通过调试我们给一个车牌尺寸的范围值提取车牌 x, y, w, h cv2.boundingRect(contour)if w 50 and h 20: # 可根据实际车牌尺寸调整cv2.rectangle(image, (x, y), (x w, y h), (0, 255, 0), 2)4 最后用图片切割切出车牌 plate_image image[y:y h, x:x w] # 切割车牌区域
http://www.hkea.cn/news/14443445/

相关文章:

  • 邮箱的官方网站注册建筑给排水识图教程久久建筑网
  • 快速做网站的方法网站修改文案
  • 成都市做网站的公司有没有安全一点的网站
  • 绵阳汽车网站制作wordpress能不能导入html
  • 美食个人网站设计作品做网站中山
  • 微信网站跳转链接怎么做宣传手册设计模板
  • 网站建设陕icp贵州省教育厅办公室关于开展2014年学校门户网站建设评估的通知
  • 北京市建设监理协会网站今天开始做女神免费网站
  • mvc网站开发实例教程企业网站建设合同书标准版
  • 公司网站域名注册流程制作开发app的公司
  • 网站备案最快怎样进入网站的后台
  • 电子商务网站营销的方法热门视频素材
  • 种植类网站模板京东电器商城网上购物
  • 官方网站下载免费建e网效果图
  • 陕西建设银行网站在线做抽奖网站
  • 宁波本地模板网站建设平台怎么搞软件开发
  • 网站制作学习网站ps怎么制作网页设计
  • 怎么做网站推广云浮怎么上国外购物网站
  • 无锡做网站优化价格强强seo博客
  • 网盟官方网站自己在公司上班做网站宣传 侵权吗
  • 学校网站建设企业买了深圳安居房后悔了
  • 制作一个企业网站过程怎么做网站网站推广
  • 手机网站首页怎么做找单位做网站需要注意什么
  • 网站开发工程师适合女生吗黑龙江省城乡和住房建设厅网站首页
  • 响应式网站开发视频教程陈木胜导演
  • 网络营销思想的网站改版计划商业网站创建教程
  • 什么网站可以做软件好的网站设计培训机构
  • 如何规避电子政务门户网站建设的教训小学生有没有必要学编程
  • 网站设计公司哪家比较好大气腐蚀网站建设
  • 住房和城乡建设部网站打不开网站群内容管理系统