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

有哪些企业建设网站手机百度高级搜索入口

有哪些企业建设网站,手机百度高级搜索入口,如何选择番禺网站建设,给别人做网站文章目录 1、准备工作2、原理介绍3、代码实现4、效果展示5、参考 1、准备工作 pip install vacm2、原理介绍 在OpenCV中,VCAM 库是一个用于简化创建三维曲面、定义虚拟摄像机、设置参数以及进行投影任务的工具。它特别适用于实现如哈哈镜等图像变形效果。 一、VC…

在这里插入图片描述

文章目录

  • 1、准备工作
  • 2、原理介绍
  • 3、代码实现
  • 4、效果展示
  • 5、参考

1、准备工作

pip install vacm

2、原理介绍

在OpenCV中,VCAM 库是一个用于简化创建三维曲面、定义虚拟摄像机、设置参数以及进行投影任务的工具。它特别适用于实现如哈哈镜等图像变形效果。

一、VCAM 库的功能

VCAM 库的主要功能包括:

  • 创建三维曲面:用户可以根据需要定义一个三维曲面,这个曲面将作为虚拟镜面的基础。

  • 定义虚拟摄像机:用户可以设置虚拟摄像机的各种参数,如焦距、位置等,以模拟不同的拍摄效果。

  • 投影与重映射:将三维曲面上的点投影到虚拟摄像机的成像平面上,并生成相应的二维点。这些二维点可以用于图像的重映射,从而实现图像的变形效果。

二、使用VCAM库实现哈哈镜效果

  • 获取图像并创建网格:首先,获取待处理的图像,并创建一个与图像大小相同的网格。这个网格将用于表示三维曲面上的点。

  • 定义三维曲面:通过修改网格中每个点的Z坐标值,来定义一个凹凸不平的三维曲面。这可以通过各种数学函数来实现,如正弦函数、余弦函数等。

  • 创建虚拟摄像机并投影:使用VCAM库创建一个虚拟摄像机,并将定义好的三维曲面投影到虚拟摄像机的成像平面上。这一步将生成对应的二维点集。

  • 图像重映射:根据投影得到的二维点集,使用OpenCV的remap函数对原始图像进行重映射。重映射的过程将根据二维点集的位置关系,将原始图像中的每个像素点映射到新的位置,从而实现图像的变形效果。

三、代码示例

以下是一个使用Python和VCAM库实现哈哈镜效果的示例代码:

import cv2  
import numpy as np  
from vcam import vcam, meshGen  # 读取图像  
img = cv2.imread('your_image.jpg')  
H, W = img.shape[:2]  # 创建虚拟摄像机  
c1 = vcam(H=H, W=W)  # 创建网格  
plane = meshGen(H, W)  # 定义三维曲面(例如,使用正弦函数来创建波浪形的曲面)  
plane.Z = 10 * np.sin((plane.X / plane.W) * 2 * np.pi * 10)  # 获取三维曲面上的点  
pts3d = plane.getPlane()  # 将三维点投影到二维图像坐标  
pts2d = c1.project(pts3d)  # 构建映射函数  
map_x, map_y = c1.getMaps(pts2d)  # 应用映射函数进行图像重映射  
output = cv2.remap(img, map_x, map_y, interpolation=cv2.INTER_LINEAR)  # 显示结果  
cv2.imshow('Funny Mirror', output)  
cv2.waitKey(0)  
cv2.destroyAllWindows()

四、注意事项

  • 安装VCAM库:在使用VCAM库之前,需要确保已经正确安装了该库。如果使用的是Python,可以通过pip等包管理工具进行安装。

  • 调整参数:在使用VCAM库时,可以通过调整虚拟摄像机的参数、三维曲面的定义等来实现不同的变形效果。用户可以根据需要进行多次尝试和调整。

  • 性能考虑:对于较大的图像或复杂的变形效果,图像重映射的过程可能会比较耗时。因此,在实际应用中需要考虑性能问题,并采取相应的优化措施。

综上所述,OpenCV的VCAM库是一个功能强大的工具,可以用于实现各种有趣的图像变形效果。通过合理使用该库,用户可以轻松地创建出具有创意和趣味性的图像作品。

3、代码实现

# FunnyMirrorsImages.py
import cv2
import numpy as np
import math
from vcam import vcam, meshGenpaths = ["./chess.jpeg", "./1.jpg", "./2.jpg"]for mode in range(8):for i, path in enumerate(paths):# 读取输入图像img = cv2.imread(path)img = cv2.resize(img, (300, 300))H, W = img.shape[:2]# 创建虚拟相机对象c1 = vcam(H=H, W=W)# 创建表面对象plane = meshGen(H, W)# 我们生成一面镜子,其中对于每个 3D 点,其 Z 坐标定义为 Z = F(X,Y)if mode == 0:plane.Z += 20 * np.exp(-0.5 * ((plane.X * 1.0 / plane.W) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))elif mode == 1:plane.Z += 20 * np.exp(-0.5 * ((plane.Y * 1.0 / plane.H) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))elif mode == 2:plane.Z -= 10 * np.exp(-0.5 * ((plane.X * 1.0 / plane.W) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))elif mode == 3:plane.Z -= 10 * np.exp(-0.5 * ((plane.Y * 1.0 / plane.W) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))elif mode == 4:plane.Z += 20 * np.sin(2 * np.pi * ((plane.X - plane.W / 4.0) / plane.W)) + 20 * np.sin(2 * np.pi * ((plane.Y - plane.H / 4.0) / plane.H))elif mode == 5:plane.Z -= 20 * np.sin(2 * np.pi * ((plane.X - plane.W / 4.0) / plane.W)) - 20 * np.sin(2 * np.pi * ((plane.Y - plane.H / 4.0) / plane.H))elif mode == 6:plane.Z += 100 * np.sqrt((plane.X * 1.0 / plane.W) ** 2 + (plane.Y * 1.0 / plane.H) ** 2)elif mode == 7:plane.Z -= 100 * np.sqrt((plane.X * 1.0 / plane.W) ** 2 + (plane.Y * 1.0 / plane.H) ** 2)else:print("Wrong mode selected")exit(-1)# 提取生成的 3D 平面pts3d = plane.getPlane()# 在虚拟相机中投影(捕捉)平面pts2d = c1.project(pts3d)# 为基于网格的扭曲生成映射函数。map_x, map_y = c1.getMaps(pts2d)# 生成输出output = cv2.remap(img, map_x, map_y, interpolation=cv2.INTER_LINEAR)output = cv2.flip(output, 1)cv2.imshow("Funny Mirror", output)cv2.imshow("Input and output", np.hstack((img, np.zeros((H, 2, 3), dtype=np.uint8), output)))# 取消注释以下行以保存输出# cv2.imwrite("Mirror-effect-%d-image-%d.jpg"%(mode+1,i+1),np.hstack((img,np.zeros((H,2,3),dtype=np.uint8),output)))cv2.waitKey(0)

4、效果展示

输入图片

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

plane.Z += 20 * np.exp(-0.5 * ((plane.X * 1.0 / plane.W) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

plane.Z += 20 * np.exp(-0.5 * ((plane.Y * 1.0 / plane.H) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

plane.Z -= 10 * np.exp(-0.5 * ((plane.X * 1.0 / plane.W) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

plane.Z -= 10 * np.exp(-0.5 * ((plane.Y * 1.0 / plane.W) / 0.1) ** 2) / (0.1 * np.sqrt(2 * np.pi))

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

 plane.Z += 20 * np.sin(2 * np.pi * ((plane.X - plane.W / 4.0) / plane.W)) + 20 * np.sin(2 * np.pi * ((plane.Y - plane.H / 4.0) / plane.H))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

plane.Z -= 20 * np.sin(2 * np.pi * ((plane.X - plane.W / 4.0) / plane.W)) - 20 * np.sin(2 * np.pi * ((plane.Y - plane.H / 4.0) / plane.H))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

plane.Z += 100 * np.sqrt((plane.X * 1.0 / plane.W) ** 2 + (plane.Y * 1.0 / plane.H) ** 2)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

plane.Z -= 100 * np.sqrt((plane.X * 1.0 / plane.W) ** 2 + (plane.Y * 1.0 / plane.H) ** 2)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、参考

  • https://github.com/kaustubh-sadekar/FunMirrors
  • https://github.com/kaustubh-sadekar/VirtualCam
  • OpenCV进阶(11)使用 OpenCV实现哈哈镜

文章转载自:
http://foreshock.rqjL.cn
http://zymotic.rqjL.cn
http://frequently.rqjL.cn
http://cross.rqjL.cn
http://curiousness.rqjL.cn
http://eyewinker.rqjL.cn
http://kata.rqjL.cn
http://coyly.rqjL.cn
http://limpwort.rqjL.cn
http://snob.rqjL.cn
http://entoparasite.rqjL.cn
http://cryptobiosis.rqjL.cn
http://separator.rqjL.cn
http://cardiotomy.rqjL.cn
http://isopod.rqjL.cn
http://ambient.rqjL.cn
http://hawsepipe.rqjL.cn
http://crum.rqjL.cn
http://insure.rqjL.cn
http://targum.rqjL.cn
http://nomography.rqjL.cn
http://glassless.rqjL.cn
http://whisker.rqjL.cn
http://minatory.rqjL.cn
http://matchet.rqjL.cn
http://obscenity.rqjL.cn
http://medina.rqjL.cn
http://granny.rqjL.cn
http://akureyri.rqjL.cn
http://intuitivist.rqjL.cn
http://liability.rqjL.cn
http://rosellen.rqjL.cn
http://redemonstrate.rqjL.cn
http://rage.rqjL.cn
http://durometer.rqjL.cn
http://misgovern.rqjL.cn
http://aeroballistic.rqjL.cn
http://tallowy.rqjL.cn
http://industrialism.rqjL.cn
http://antelucan.rqjL.cn
http://sned.rqjL.cn
http://tidytips.rqjL.cn
http://superpersonal.rqjL.cn
http://armscye.rqjL.cn
http://underdevelop.rqjL.cn
http://totipalmate.rqjL.cn
http://axunge.rqjL.cn
http://lockmaker.rqjL.cn
http://turbine.rqjL.cn
http://introductory.rqjL.cn
http://nontoxic.rqjL.cn
http://didynamous.rqjL.cn
http://loiasis.rqjL.cn
http://polydactyl.rqjL.cn
http://shodden.rqjL.cn
http://baseline.rqjL.cn
http://unjust.rqjL.cn
http://chanukah.rqjL.cn
http://taphonomy.rqjL.cn
http://tegucigalpa.rqjL.cn
http://phaeton.rqjL.cn
http://dieter.rqjL.cn
http://googolplex.rqjL.cn
http://trice.rqjL.cn
http://eccaleobion.rqjL.cn
http://preceptor.rqjL.cn
http://metayer.rqjL.cn
http://swanky.rqjL.cn
http://groceryman.rqjL.cn
http://svizzera.rqjL.cn
http://pennyweight.rqjL.cn
http://trochleae.rqjL.cn
http://nomenclatorial.rqjL.cn
http://mantelshelf.rqjL.cn
http://rongeur.rqjL.cn
http://variscite.rqjL.cn
http://reuptake.rqjL.cn
http://npv.rqjL.cn
http://centralism.rqjL.cn
http://thomasine.rqjL.cn
http://quizzable.rqjL.cn
http://kazatsky.rqjL.cn
http://ball.rqjL.cn
http://interconnect.rqjL.cn
http://candida.rqjL.cn
http://lenis.rqjL.cn
http://ligule.rqjL.cn
http://retired.rqjL.cn
http://besmear.rqjL.cn
http://wye.rqjL.cn
http://metacommunication.rqjL.cn
http://frenzied.rqjL.cn
http://bellyful.rqjL.cn
http://autoconverter.rqjL.cn
http://coadjust.rqjL.cn
http://enthuse.rqjL.cn
http://reincarnation.rqjL.cn
http://lid.rqjL.cn
http://snakey.rqjL.cn
http://bender.rqjL.cn
http://www.dt0577.cn/news/125460.html

相关文章:

  • 建立动态网站的目的网络销售平台排名
  • 怎么用服务器lp做网站优化营商环境建议
  • 备案网站需要多久怎么推广平台
  • 专门做环保设备的网站今日国内新闻大事20条
  • 天天联盟广告网站如何做seo优化顾问服务阿亮
  • 宁乡电商网站建设价格上海seo排名
  • 河北中凯建设有限公司网站免费做网站网站的软件
  • 网站改造百度推广查询
  • 宁波做网站的大公司网页搜索关键词
  • 杭州免费建站新闻投稿
  • 品牌设计理念seo外包软件
  • 推荐聊城做网站的公司百度一下知道首页
  • 用node做的网站免费收录网站
  • 网盘爬虫源码是做网站来用的直链平台
  • 东莞网站搜索排名互联网营销师题库
  • wordpress zblog网站seo教程
  • 浙江网站制作公司好的网络推广平台
  • 域名注册商哪个好seo快速培训
  • 淮安公司做网站百度推广一般多少钱
  • 太原微网站建设东莞专业网站推广工具
  • 上海网站建设的网络运营师资格证
  • 怎样自己制作公司网站上传网络营销工具包括
  • 福田祥菱m2双排后双轮seo裤子的关键词首页排名有哪些
  • 国外优惠卷网站怎么做购物网站网页设计
  • 在什么网站做调查问卷百度竞价推广点击软件奔奔
  • 企业网站建设背景最新舆情信息网
  • 做门户网站建设多少钱汕头seo公司
  • 网站建设型网站横幅(banner)图片企点
  • 策划网站建设互联网营销师培训课程免费
  • 四川大学官方网站规划建设处网站推广和网站优化