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

云速建站可以建个人网站吗营销策划方案公司

云速建站可以建个人网站吗,营销策划方案公司,凡科网站是骗子,做网站需要用什么技术文章目录 前言一、边缘填充1.边界复制2.边界反射3.边界常数4.边界包裹5.代码示例 二、透视变换三、颜色加法 前言 通过今天的学习,我掌握了OpenCV中有关边缘填充,透视变换以及颜色加法的相关概念和操作 一、边缘填充 当我们对图像进行仿射变换后往往会发…

文章目录

  • 前言
  • 一、边缘填充
    • 1.边界复制
    • 2.边界反射
    • 3.边界常数
    • 4.边界包裹
    • 5.代码示例
  • 二、透视变换
  • 三、颜色加法


前言


  • 通过今天的学习,我掌握了OpenCV中有关边缘填充,透视变换以及颜色加法的相关概念和操作

一、边缘填充

  • 当我们对图像进行仿射变换后往往会发现图像的边缘被黑色填充,这时我们可以通过边缘填充的方式进行解决

1.边界复制

  • 通过对图像边界处的像素值进行复制得以填充空缺的边缘
    在这里插入图片描述

2.边界反射

  • 根据原图边缘的像素值进行反射
    在这里插入图片描述
  • 还有一种名为“边界反射101”的方法,区别是该方法不会对边缘的像素点进行反射
    在这里插入图片描述

3.边界常数

  • 通过指定参数对边界进行填充,默认为0
    在这里插入图片描述

4.边界包裹

  • 直接复制图像以进行填充
    在这里插入图片描述

5.代码示例

  • 这里以旋转变换为例,运行代码以观察效果的差异
img = cv.imread('cat.png')
h,w = img.shape[:2]
center = (w//2,h//2)
M = cv.getRotationMatrix2D(center,45,0.5)
img1 = cv.warpAffine(img,M,(w,h),borderMode=cv.BORDER_REPLICATE) #边界复制
img2 = cv.warpAffine(img,M,(w,h),borderMode=cv.BORDER_REFLECT) #边界反射
img3 = cv.warpAffine(img,M,(w,h),borderMode=cv.BORDER_REFLECT_101) #边界反射101
img4 = cv.warpAffine(img,M,(w,h),borderMode=cv.BORDER_CONSTANT,borderValue=(255,100,100)) #边界常数
img5 = cv.warpAffine(img,M,(w,h),borderMode=cv.BORDER_WARP) #边界包裹

二、透视变换

  • 透视变换是把一个图像投影到一个新的视平面的过程
  • 透视变换区别于仿射变换,透视投影是指将三维空间中的物体投影到二维平面上的过程而仿射变换时平面中的线性变换
  • 简单理解,透视变换就是改变观察图像的视角
  • 与仿射变换类似的是,透视变换同样需要得到对应的变换矩阵才能进一步得到图像数组
    在这里插入图片描述
  • M=getPerspectiveTransform(src,dst)
  • src:原图中需要进行变换的四个点的坐标
  • dst:变换后新的四个点的坐标
img = cv.imread(r'D:\AI\笔记课件\2图像预处理.assets\03-jy.png')
h,w = img.shape[:2]
src = np.float32([[352,266],[563,275],[342,521],[564,520]])
dst = np.float32([[0,0],[w,0],[0,h],[w,h]])
src_int = src.astype(np.int32)
M = cv.getPerspectiveTransform(src,dst)
img1 = cv.warpPerspective(img,M,(w,h))
img_copy = img.copy()
cv.line(img_copy,tuple(src_int[0]), tuple(src_int[1]),(0,255,0), 2, cv.LINE_AA)
cv.line(img_copy,tuple(src_int[1]), tuple(src_int[3]),(0,255,0), 2, cv.LINE_AA)
cv.line(img_copy,tuple(src_int[3]), tuple(src_int[2]),(0,255,0), 2, cv.LINE_AA)
cv.line(img_copy,tuple(src_int[2]), tuple(src_int[0]),(0,255,0), 2, cv.LINE_AA)
cv.imshow('img',img_copy)
cv.imshow('img1',img1)
cv.waitKey(0)
cv.destroyAllWindows()

tips:由于line函数接收int类型的参数,故需要进行类型转换

三、颜色加法

  • 在OpenCV中,可以将两个形状相同的图像进行相加,得到新的图像,新图像呈现出混合或者透明的感觉
  • 使用add函数或者Numpy中的加法,二者的区别是,前者采用饱和运算,而后者采用模运算
  • 通常情况下,使用模运算可以使得混合的图像更加自然
img1 = cv.imread('img\cat1.png')
img2 = cv.imread('03-jy.png')
x = np.uint8([[250]])
y =np.uint8([[10]])
# print(cv.add(x,y)) # 饱和运算
# print(x+y) # 模运算
img_add = cv.add(img1,img2)
img_numpy = img1 - img2
cv.imshow('add',img_add)
cv.imshow('numpy',img_numpy)
cv.waitKey(0)
cv.destroyAllWindows()
  • 可以指定权重,即利用颜色加权加法进行操作
  • cv2.addWeighted(src1,alpha,src2,deta,gamma)
  • alpha,beta:指图像权重
  • gamma:亮度调整值,如果为正则会变亮

THE END

http://www.dtcms.com/wzjs/399884.html

相关文章:

  • c 开发微网站开发苏州网站建设制作公司
  • 买个网站多少钱线下推广活动策划方案
  • 做网站建设费用预算广告联盟怎么赚钱
  • it运维是什么工作百度seo快速见效方法
  • 西安做网站微信公司哪家好如何进行网站推广
  • 秦皇岛网站公司廊坊网站推广公司
  • 建设企业网站得花多少营销网店推广的软文
  • 网站首页广告图片伸缩代码又关闭西安发布最新通知
  • 传媒公司商业计划书seo网络推广怎么做
  • 深圳西乡网站建设公司青岛seo关键词
  • 企业网站建设一条龙用广州seo推广获精准访问量
  • 个人做网站有什么坏处我想做app推广代理
  • 上海网站建设-网建知识百度学术论文查重官网入口
  • 织梦网站怎么重新安装网络舆情监测
  • 做网站现在赚钱吗百度一下就会知道了
  • 国外网站案例厦门seo网站推广
  • 专门做网站的公司与外包公司如何屏蔽百度广告推广
  • 网站论坛做斑竹网络公司网页设计
  • 佛山营销网站建设联系方式上海关键词优化的技巧
  • 金色世纪做网站的是哪个岗位关键词排名快速提升
  • 网站推广方法海豚湾陕西优化疫情防控措施
  • 有哪几种语言做的网站软文写作是什么
  • 武汉市疫情最新情况百度首页关键词优化
  • 深圳网站建设公司开发制作网站手机制作网页
  • 浙江网站建设流程网页模板下载
  • 网站官网建设上海最新发布
  • 福州专业网站建设免费直链平台
  • 张家港网站制作服务站长网站查询工具
  • 建设银行湖北省分行 网站湖南专业的关键词优化
  • 深圳app网站建设东莞哪种网站推广好