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

世界服装鞋帽网免费做网站广州网站开发设计

世界服装鞋帽网免费做网站,广州网站开发设计,短视频策划模板,网站制作评价标准2D图像几何变换的33矩阵#xff1a; 图像常见的几何变换#xff1a; 图像来源#xff1a;《OpenCV 4.5计算机视觉开发实战#xff1a;基于Python》作者#xff1a;朱文伟 李建英#xff1b; 1. 平移#xff08;Translation#xff09; 在OpenCV中#xff0c;平移不是…2D图像几何变换的3×3矩阵 图像常见的几何变换 图像来源《OpenCV 4.5计算机视觉开发实战基于Python》作者朱文伟 李建英 1. 平移Translation 在OpenCV中平移不是直接通过一个函数完成的而是先通过创建一个平移矩阵然后使用warpAffine函数应用这个矩阵。 cv2.getTranslationMatrix2D(center, offset, scale) center源图像中的变换中心。offset沿x和y方向移动的距离。scale通常设置为1.0因为平移不涉及缩放。 返回的矩阵然后传递给warpAffine函数进行实际的平移操作。 2. 旋转Rotation cv2.getRotationMatrix2D(center, angle, scale) center旋转中心。angle旋转角度以度为单位。正值表示逆时针旋转。scale图像缩放比例。 这个函数返回一个2x3的旋转矩阵该矩阵可以传递给warpAffine进行图像的旋转。 图像旋转后显示完整图像示例代码 import cv2 import numpy as np def rotate_image(image, angle): # 获取图像尺寸 (h, w) image.shape[:2] # 计算图像中心 center (w // 2, h // 2) # 获取旋转矩阵注意角度需要转换为弧度 M cv2.getRotationMatrix2D(center, angle, 1.0) # 计算旋转后图像的边界框 cos np.abs(M[0, 0]) sin np.abs(M[0, 1]) nW int((h * sin) (w * cos)) nH int((h * cos) (w * sin)) # 调整旋转矩阵以考虑平移 M[0, 2] (nW / 2) - center[0] M[1, 2] (nH / 2) - center[1] # 执行旋转 rotated cv2.warpAffine(image, M, (nW, nH)) return rotated # 读取图像 image cv2.imread(your_image.jpg) # 旋转图像例如旋转45度 rotated_image rotate_image(image, 45) # 显示原始和旋转后的图像 cv2.imshow(Original Image, image) cv2.imshow(Rotated Image, rotated_image) cv2.waitKey(0) cv2.destroyAllWindows() 3. 缩放Resizing 缩放通常使用resize函数而不是通过几何变换矩阵。 cv2.resize(src, dsize, fx0, fy0, interpolationcv2.INTER_LINEAR) src输入图像。dsize输出图像的大小。这是一个宽度和高度的元组。如果它是零则通过fx和fy计算大小。fx、fy沿x轴和y轴的缩放比例。interpolation插值方法用于确定如何计算输出图像中的像素值。 4. 仿射变换Affine Transformation 仿射变换是一个更一般的变换包括旋转、平移、缩放和倾斜。 cv2.warpAffine(src, M, dsize, flagscv2.INTER_LINEAR, borderModecv2.BORDER_CONSTANT, borderValue(0,0,0)) src输入图像。M2x3的变换矩阵。dsize输出图像的大小。flags插值方法。borderMode边界像素模式。borderValue当borderModecv2.BORDER_CONSTANT时边界像素的值。 5. 透视变换Perspective Transformation 透视变换用于从一个视角转换到另一个视角需要一个3x3的变换矩阵。 cv2.warpPerspective(src, M, dsize, flagscv2.INTER_LINEAR, borderModecv2.BORDER_CONSTANT, borderValue(0,0,0)) 参数与warpAffine相似但M是一个3x3的透视变换矩阵。 6 图像金字塔Image Pyramid 在Python的OpenCV库中图像金字塔Image Pyramid是一种用于图像多尺度表达的有效结构主要用于图像特征检测、图像分割和图像压缩等领域。图像金字塔通过逐步减小图像的分辨率来创建一系列图像这些图像以金字塔形状排列层级越高图像越小分辨率越低。 OpenCV提供了两个主要的函数来实现图像金字塔的构建cv2.pyrDown()和cv2.pyrUp()。 1. cv2.pyrDown(src[, dst[, dstsize[, borderType]]]) 功能对图像进行下采样缩小生成图像金字塔的下一层。 参数解释 src输入图像即当前层的图像。dst输出图像即下采样后的图像。这是一个可选参数如果提供则输出图像会存储在这里。dstsize输出图像的大小。如果此参数为0默认值则输出图像的尺寸将是输入图像尺寸的一半宽度和高度都减半。borderType边界像素的插值方法。在大多数情况下使用默认值cv2.BORDER_DEFAULT即可。 返回值下采样后的图像。如果提供了dst参数则函数返回None否则返回下采样后的图像。 2. cv2.pyrUp(src[, dst[, dstsize[, borderType]]]) 功能对图像进行上采样放大尝试从图像金字塔的下一层重建当前层。但需要注意的是上采样并不是下采样的完全逆操作因为上采样过程中会丢失一些信息导致重建的图像比原始图像模糊。 参数解释 src输入图像即金字塔下一层的图像。dst输出图像即上采样后的图像。这是一个可选参数如果提供则输出图像会存储在这里。dstsize输出图像的大小。如果此参数为0默认值则输出图像的尺寸将是输入图像尺寸的两倍宽度和高度都加倍。但通常建议明确指定dstsize以匹配原始图像的尺寸或所需的尺寸。borderType边界像素的插值方法。在大多数情况下使用默认值cv2.BORDER_DEFAULT即可。 返回值上采样后的图像。如果提供了dst参数则函数返回None否则返回上采样后的图像。 7 图像翻转Flipping  cv2.flip(src, flipCode) src输入图像即你想要翻转的图像。flipCode指定翻转方向的标志。它是一个整数决定了图像翻转的方式。 当flipCode为0时表示沿x轴翻转即上下翻转实际上这并不会改变图像因为x轴是水平的而翻转通常是相对于垂直轴y轴或水平轴但在这里不适用因为x轴翻转在视觉上没有效果除非你改变了坐标系统的解释。但这里通常理解为参数设置错误或不适用于此上下文。当flipCode  0时通常是1表示沿y轴翻转即左右翻转。当flipCode  0时通常是-1表示沿x轴和y轴同时翻转即上下左右翻转相当于180度旋转。 import cv2 # 读取图像 img cv2.imread(your_image_path.jpg) # 左右翻转图像 flipped_img_lr cv2.flip(img, 1) # 上下左右翻转图像180度旋转 flipped_img_udlr cv2.flip(img, -1) # 显示原图和翻转后的图像 cv2.imshow(Original Image, img) cv2.imshow(Flipped Left-Right, flipped_img_lr) cv2.imshow(Flipped Up-Down and Left-Right, flipped_img_udlr) cv2.waitKey(0) cv2.destroyAllWindows() 8 极坐标变换Polar Transformation 极坐标变换通常需要将图像的笛卡尔坐标x, y转换为极坐标ρ, θ。在OpenCV中没有直接的函数来完成这个转换但你可以通过以下步骤实现 计算每个像素的极坐标这通常涉及到遍历图像的每个像素并计算其对应的ρ和θ值。 重新映射到极坐标网格由于极坐标网格在ρ0附近是密集的而在ρ较大时变得稀疏因此你可能需要创建一个新的图像其大小取决于你想要的ρ和θ的分辨率。 插值将原图像中的像素值映射到新的极坐标网格时可能需要进行插值因为源像素和目标像素之间可能不会一一对应。 由于这个过程比较复杂且OpenCV没有直接提供这样的函数因此通常需要自己编写代码来实现。 9 逆极坐标变换Inverse Polar Transformation 逆极坐标变换是极坐标变换的逆过程即将极坐标ρ, θ转换回笛卡尔坐标x, y。同样OpenCV没有直接的函数来完成这个转换但你可以通过以下步骤来近似实现 确定目标图像的大小这取决于你想要的输出图像的分辨率。 计算每个目标像素的笛卡尔坐标这通常是通过遍历目标图像的每个像素并将其x, y坐标计算出来。 转换到极坐标将x, y坐标转换为ρ, θ以便你可以从原始极坐标图像中检索对应的像素值。 插值由于极坐标和笛卡尔坐标之间的映射可能不是一一对应的因此你可能需要使用插值方法来获取最终的像素值。 链接跳转 章节一、OpenCV||超细节的基本操作 章节二、OpenCV||超简略的Numpy小tip 章节三、OpenCV||超详细的图像处理模块 章节四、OpenCV||超详细的灰度变换和直方图修正 章节五、OpenCV||超详细的图像平滑
http://www.hkea.cn/news/14301187/

相关文章:

  • 品质培训的网站建设wordpress目录标题
  • 网站建设昆明网站建设课件
  • windows 2008 网站网站做集群
  • 自己做的导航网站WordPress 主题解密
  • 微网站免费开发平台平台型网站建设预算表
  • 郑州网站制作网网站建设 app开发 图片
  • 电商网站 制作easywechat wordpress
  • 网站建设相关专业做网站如何文字链接文字
  • 深圳品牌模板网站建设广东新闻联播回放
  • 广州市网站优化公司高端网站制作效果好
  • 万象园网站建设与开发浙江软装设计公司
  • 永康网站定制做手机网站兼容
  • 网络推广站阿里云服务器 做网站
  • 白云区建材网站建设aso网站
  • 网站推广主要方法南宁南宁做网站
  • 四川简阳建设局招标公告网站校园文化设计公司 案例
  • 学会建网站如何做网络营销怎样把录的视频做一下传到网站
  • 建站公司网站源码番禺网站建设怎么样
  • 网站外链建设是什么wordpress首页菜单怎么设置
  • 上海企业网站模板合肥做网站的网络公司
  • 潍坊设计网站重庆未来科技网站建设
  • 做公司网站要营业执照吗国际贸易公司注册需要什么条件
  • 北京网站建设+知乎优秀电商网站设计
  • 响应式网站建站价格淄博网站建设找李光明
  • 一帘幽梦紫菱做的网站dw 做简单静态网站
  • 订制网站建设新媒体营销策划
  • 怎么在境外做网站义乌网站建设与维护
  • 南昌网站建设公司上海页面设计公司
  • 买过域名之前就可以做网站了吗网站建设吉金手指排名15
  • 网站建设大型给大家分享个永久免费的云服务器