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

专注合肥网站推广商城网站模板免费

专注合肥网站推广,商城网站模板免费,深圳移动网站建设公司排名,5成都网站建设目录 一、简单数值计算 二、opencv中提供函数进行计算 三、cv2.addWeighted 一、简单数值计算 在opencv中#xff0c;我们有许多可以获取图像各类数值的办法#xff0c;许多函数能获得各种方面的数据。但如果我们什么都不用#xff0c;仅仅对图像上每一个点做加法运算会…目录 一、简单数值计算 二、opencv中提供函数进行计算 三、cv2.addWeighted 一、简单数值计算 在opencv中我们有许多可以获取图像各类数值的办法许多函数能获得各种方面的数据。但如果我们什么都不用仅仅对图像上每一个点做加法运算会发生什么 import cv2img1 cv2.imread(3.jpg)img2 img1 10print(img1[:5,:,0]) print(img2[:5,:,0])cv2.imshow(img1, img1) cv2.imshow(img2, img2)cv2.waitKey(0) 这里我们先导入opencv库然后将名为“3.jpg”的图片读进来。 回忆一下imread()函数返回的是一个Numpy数组这个数组通常是三维数组包含了高度、宽度、通道数。对于彩色图像通道数一般为3。 第4行让img2img110相当于给读进来的图像的每一像素的三个通道都加了10。 代码第6行使用数组的知识创建了一个图像的前 5 行像素的第一个通道的切片并将其打印出来最后将原来的图像和改变后的图像显示出来如下图所示 可以看到新的图像已经不成样子了。对比前后输出的两个二维列表可以发现列表中的每一个值都加了10但有的直接变成了个位数。 这是因为列表中的每个值只能从0~255这256个值中选择一个但25410264已经超出了255的范围所以在求余256后得到了新的图像值。 接下来我们让两个图像的值直接相加看看会发生什么。 import cv2img1 cv2.imread(3.jpg) img2 cv2.imread(4.jpg)img3 img1 img2print(img3[:5,:,1])cv2.imshow(img3, img3)cv2.waitKey(0) 这里前面的步骤与上面一样这里多读进来一张图片并将两张图片直接相加结果赋值给img3并将img3显示出来。 可是运行却出现了如下报错 这个报错的意思是在执行img1img2的代码时程序发现用来相加的两个数组高度、宽度不一样所以没有办法相加。这告诉我们在执行图像加法时两个图像的高度、宽度、通道都必须一致。  我们修改一下代码 import cv2img1 cv2.imread(3.jpg) img2 cv2.imread(4.jpg)img1 cv2.resize(img1, (272, 245))img3 img1 img2print(img3[:5,:,1])cv2.imshow(img3, img3)cv2.waitKey(0) 这里我们在执行加法之前加了一个cv2.resize函数重新设定了img1图像的大小使其与img2相同。这样就能执行加法了运行结果如下 看起来还是蛮掉san的。  二、opencv中提供函数进行计算 但其实opencv中给我们提供了一个加法函数cv2.add()它与加法的区别在哪里我们来运行看一下 import cv2img1 cv2.imread(3.jpg) img2 cv2.imread(4.jpg)img1 cv2.resize(img1, (272, 245))img3 cv2.add(img1, img2)print(img3[:5,:,1])cv2.imshow(img1, img1) cv2.imshow(img2, img2) cv2.imshow(img3, img3)cv2.waitKey(0) 在输出的列表中可以看到上次超出255范围被求余的数值现在统统变成了255相当于越界的数值被强制设置为了255不再进行求余操作。 但是很明显这样的图像相加并没有满足我们的要求得到的图像都没法看。怎么办呢opencv也提供了相应的函数给我们使用。 三、cv2.addWeighted 在opencv中cv2.addWeighted函数用于更加精准的图片叠加。数学计算的公式为 其中R代表叠加后的图像 代表参与叠加的两个图像和分别代表两张图像的权重b代表标量值加到加权和上。 在代码中需要这么写 import cv2img1 cv2.imread(3.jpg) img2 cv2.imread(4.jpg)img1 cv2.resize(img1, (272, 245))img3 cv2.addWeighted(img1, 0.4, img2, 0.6, 0)print(img3[:5,:,1])cv2.imshow(img1, img1) cv2.imshow(img2, img2) cv2.imshow(img3, img3)cv2.waitKey(0) 这段代码中cv2.addWeight()传入了五个参数分别是叠加图像1图像1的权重叠加图像2图像2的权重以及标量值b。 运行结果如下 这样看起来图像的叠加就不会显得生硬了。
http://www.ho-use.cn/article/10818825.html

相关文章:

  • 北京网站建设itcask上海专业网站建设服务
  • 长春快速建站最新新闻热点
  • 专业积分商城网站建设新开传奇网站刚开一秒第一区
  • 高端网站设计报价表seo常用工具
  • 成都网站制作在线网站登录人数实时更新如何做
  • 太原做网站哪里好政务网站建设交流发言
  • 福州建网站哪家好企业宽带
  • 做网站公司简介模版seo推广网站有哪
  • 坪山模板网站建设公司discuz论坛网站做的门户
  • 网站需要维护show t团队网站艰涩
  • 河北网站建设案例广平企业做网站推广
  • 怎样做企业营销网站手机app软件开发公司排名
  • 广州免费设计网站建设房地产找客源10个方法
  • 网站建设都有那些费用百度一下首页百度
  • 网站开发详细报价单网络营销推广方式怎么收费
  • 泵 品牌网站建设个人养老保险缴费查询
  • 淮安市城市建设档案馆网站品牌策划大赛优秀作品
  • 男女做羞羞事漫画网站免费深圳网站制作公司地址
  • 重庆有的设计网站大全黑科技wifi蹭网神器
  • 建设银行网站登陆不了外贸企业查询
  • 免费网站建设方案优化网站建设职位
  • 网站是怎么制作出来的现在建站好么
  • 汽车电子商务网站建设wordpress 版本 php7
  • asp有哪些网站it外包有哪些
  • 网站注意事项网站文章列表和图片列表排版切换代码
  • 自创字 网站婚纱影楼网站源码
  • 公司注销网站备案网站开发 评价
  • 网站建设+临沂上海大良网站建设
  • No家电网站建设商务网站建设推荐
  • 零食网站色调搭配怎麽做平台公司经营范围