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

云服务器搭建网站dw网页制作教程

云服务器搭建网站,dw网页制作教程,重庆市施工安全管理网,广州大型网站制作公司【1】引言 前序已经学习了直接在画布上使用掩模,会获得彩色图像的多种叠加效果,相关文章链接为: python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖-CSDN博客 这时候如果更进一步,直接…

【1】引言

前序已经学习了直接在画布上使用掩模,会获得彩色图像的多种叠加效果,相关文章链接为:

python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖-CSDN博客

这时候如果更进一步,直接用两张图片互相叠加,是否会有新的图像出现?这就是本次文章想讨论的内容。

在更早的时候,我们已经掌握了对灰度图像的掩模操作:

python学opencv|读取图像(九)用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客

因此,这种图片叠加的操作,应该可以同时作用于灰度图像和彩色图像。

探索图像的叠加效果,需要使用的函数是cv2.add()。

【2】官网教程

点击下述链接,可以直达cv2.add()函数官网说明:

OpenCV: Operations on arrays

官网页面关于cv2.add()函数的说明为:

图1

具体的各个参数的意义为:

void cv::add     (     InputArray     src1,   #输入图像1
        InputArray     src2,                         #输入图像2
        OutputArray     dst,                        #输出图像2
        InputArray     mask = noArray(),    #掩模
        int     dtype = -1 )                           #输出图像的深度,为默认值,暂无需关注

【3】代码测试

【3.1】灰度图像

首先是引入cv2等模块和原始图像:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片-直接转化灰度图
src = cv.imread('srcf.png',0) #读取图像
dst=src#输出图像

然后进行图形叠加操作:

#图像叠加
dst1=dst+dst #图像使用“+”叠加
dst2=cv.add(dst,dst) #图像使用“cv.add()函数”叠加

然后在屏幕上展示图像:

#在屏幕展示效果
cv.imshow('srcdst', dst)  # 在屏幕展示效果
cv.imshow('srcdst1', dst1)  # 在屏幕展示效果
cv.imshow('srcdst2', dst1)  # 在屏幕展示效果

为探寻实际的叠加效果,读取了特定像素点的BGR值:

#显示BGR值
print("dst像素数为[258,258]位置处的BGR=", dst[258, 258])  # 获取像素数为[100,100]位置处的BGR
print("dst1像素数为[258,258]位置处的BGR=", dst1[258,258])  # 获取像素数为[100,100]位置处的BGR
print("dst2像素数为[258,258]位置处的BGR=", dst2[258,258])  # 获取像素数为[100,100]位置处的BGR
print("dst像素数为[100,100]位置处的BGR=", dst[100, 100])  # 获取像素数为[100,100]位置处的BGR
print("dst1像素数为[100,100]位置处的BGR=", dst1[100,100])  # 获取像素数为[100,100]位置处的BGR
print("dst2像素数为[100,100]位置处的BGR=", dst2[100,100])  # 获取像素数为[100,100]位置处的BGR

之后保存相关图像:

#保存图像
cv.imwrite('srcf-dst.png', dst)  # 保存图像
cv.imwrite('srcf-dst1.png', dst1)  # 保存图像
cv.imwrite('srcf-dst2.png', dst2)  # 保存图像cv.waitKey()  # 图像不会自动关闭
cv.destroyAllWindows()  # 释放所有窗口

本文使用的原始图像为:

图2 原始图像

叠加后的图像效果为:

图3 图像使用“+”叠加-灰度图像

图4 图像使用“cv.add()函数”叠加-灰度图像

由图3和图4对比可见:图4相对来说更亮。

这时候,再看特定点的BGR值:

图5 特定像素点BGR值-灰度图像

在像素点[258,258]获得的原始图像dst对应的BGR=71,dst1和dst2在该点对应的BGR=142=2*71,可以明显看到使用“+”叠加和“cv.add()函数”叠加的效果在本质上都是对该像素点的BGR值进行叠加。

在像素点[100,100]获得的原始图像dst对应的BGR=156,dst1在该点对应的BGR=56,dst2在该点对应的BGR=255。实际上,使用“+”叠加和“cv.add()函数”叠加的效果在本质上都是对该像素点的BGR值进行叠加,但对于使用“+”叠加,像素点BGR值超过255后会重新计数,57=156*2-255,但由于像素点是从0开始计算,所以第57个数对应的BGR值为56;使用和“cv.add()函数”叠加,像素点BGR值超过255后会直接截断为255。

【3.2】彩色图像

之后进行彩色图像的零值和反零值处理,这只需要改一行代码,将src = cv.imread('srcun.png',0)改为:

src = cv.imread('srcun.png') #读取图像

直接输出完整代码:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片-直接转化灰度图
src = cv.imread('srcf.png') #读取图像
dst=src#输出图像#图像叠加
dst1=dst+dst #图像使用“+”叠加
dst2=cv.add(dst,dst) #图像使用“cv.add()函数”叠加#在屏幕展示效果
cv.imshow('srcdst', dst)  # 在屏幕展示效果
cv.imshow('srcdst1', dst1)  # 在屏幕展示效果
cv.imshow('srcdst2', dst2)  # 在屏幕展示效果#显示BGR值
print("dst像素数为[258,258]位置处的BGR=", dst[258, 258])  # 获取像素数为[100,100]位置处的BGR
print("dst1像素数为[258,258]位置处的BGR=", dst1[258,258])  # 获取像素数为[100,100]位置处的BGR
print("dst2像素数为[258,258]位置处的BGR=", dst2[258,258])  # 获取像素数为[100,100]位置处的BGR
print("dst像素数为[100,100]位置处的BGR=", dst[100, 100])  # 获取像素数为[100,100]位置处的BGR
print("dst1像素数为[100,100]位置处的BGR=", dst1[100,100])  # 获取像素数为[100,100]位置处的BGR
print("dst2像素数为[100,100]位置处的BGR=", dst2[100,100])  # 获取像素数为[100,100]位置处的BGR#保存图像
cv.imwrite('srcf-c-dst.png', dst)  # 保存图像
cv.imwrite('srcf-c-dst1.png', dst1)  # 保存图像
cv.imwrite('srcf-c-dst2.png', dst2)  # 保存图像cv.waitKey()  # 图像不会自动关闭
cv.destroyAllWindows()  # 释放所有窗口

代码运行后获得的图像效果为:

图6 图像使用“+”叠加-灰度图像

图7 图像使用“cv.add()函数”叠加-彩色图像

此时的特定像素点BGR值为:

图8 特定像素点BGR值-彩色图像

对像素点[258,258]和像素点[100,100]获得的原始图像dst对应的BGR和叠加后的图像dst1、dst2在该点对应的BGR分析可知:使用“+”叠加和“cv.add()函数”叠加的效果在本质上都是对该像素点的BGR值进行叠加,但对于使用“+”叠加,像素点BGR值超过255后会重新计数;使用和“cv.add()函数”叠加,像素点BGR值超过255后会直接截断为255。

图9 对比效果

【4】细节说明

如果相互叠加的两个图像原本对应的BGR值分别为BGR1和BGR2,使用“+”叠加时,重新计数的BGR=BGR1+BGR2-255-1。

【5】总结

掌握了python+opencv实现各个像素点BGR叠加的技巧。


文章转载自:
http://oligomer.hwLk.cn
http://pusher.hwLk.cn
http://frenchman.hwLk.cn
http://striolate.hwLk.cn
http://jib.hwLk.cn
http://indemnitee.hwLk.cn
http://dealate.hwLk.cn
http://impersonally.hwLk.cn
http://tannier.hwLk.cn
http://eyespot.hwLk.cn
http://feticidal.hwLk.cn
http://patchy.hwLk.cn
http://prussiate.hwLk.cn
http://shopwoman.hwLk.cn
http://utriculitis.hwLk.cn
http://tony.hwLk.cn
http://irrefutability.hwLk.cn
http://bijection.hwLk.cn
http://rewater.hwLk.cn
http://vaticanologist.hwLk.cn
http://specimen.hwLk.cn
http://decompress.hwLk.cn
http://corniced.hwLk.cn
http://regulable.hwLk.cn
http://problematique.hwLk.cn
http://sulphate.hwLk.cn
http://dulcitol.hwLk.cn
http://curitiba.hwLk.cn
http://spirograph.hwLk.cn
http://sexology.hwLk.cn
http://loiteringly.hwLk.cn
http://tounament.hwLk.cn
http://sellable.hwLk.cn
http://behaviourist.hwLk.cn
http://irrationalism.hwLk.cn
http://xns.hwLk.cn
http://brighish.hwLk.cn
http://semantics.hwLk.cn
http://neoglacial.hwLk.cn
http://otherwhere.hwLk.cn
http://mutilator.hwLk.cn
http://queuetopia.hwLk.cn
http://network.hwLk.cn
http://graduate.hwLk.cn
http://mixology.hwLk.cn
http://cutter.hwLk.cn
http://geophysicist.hwLk.cn
http://hexaemeron.hwLk.cn
http://headlong.hwLk.cn
http://bequest.hwLk.cn
http://horizonless.hwLk.cn
http://decapacitate.hwLk.cn
http://underground.hwLk.cn
http://tonga.hwLk.cn
http://imperforated.hwLk.cn
http://cunner.hwLk.cn
http://dumps.hwLk.cn
http://industrialise.hwLk.cn
http://pyrocellulose.hwLk.cn
http://ideality.hwLk.cn
http://hypermetrical.hwLk.cn
http://telephotogram.hwLk.cn
http://communally.hwLk.cn
http://fucoid.hwLk.cn
http://windgall.hwLk.cn
http://overpassed.hwLk.cn
http://plot.hwLk.cn
http://seeder.hwLk.cn
http://tight.hwLk.cn
http://blagoveshchensk.hwLk.cn
http://wrestler.hwLk.cn
http://shelves.hwLk.cn
http://battlements.hwLk.cn
http://neoanthropic.hwLk.cn
http://kegeree.hwLk.cn
http://poriferan.hwLk.cn
http://saiga.hwLk.cn
http://voivodina.hwLk.cn
http://homeothermal.hwLk.cn
http://capitalism.hwLk.cn
http://septemviral.hwLk.cn
http://titman.hwLk.cn
http://microammeter.hwLk.cn
http://haploidy.hwLk.cn
http://sialagogue.hwLk.cn
http://lestobiosis.hwLk.cn
http://sanative.hwLk.cn
http://trochosphere.hwLk.cn
http://aphylly.hwLk.cn
http://bermudan.hwLk.cn
http://matelot.hwLk.cn
http://prophetical.hwLk.cn
http://pschent.hwLk.cn
http://orbed.hwLk.cn
http://dropt.hwLk.cn
http://tattersall.hwLk.cn
http://electromusic.hwLk.cn
http://perfusive.hwLk.cn
http://nobleness.hwLk.cn
http://sone.hwLk.cn
http://www.15wanjia.com/news/77566.html

相关文章:

  • react怎么做pc网站软文推广平台有哪些
  • 单页网站有哪些seo视频
  • 网站建设常用问题库韩国电视剧
  • 做一钓鱼网站福州百度分公司
  • 幼儿园50个主题网络图郑州网站优化顾问
  • 杭州做网站哪家公司好百度用户客服电话
  • 请兼职做企业网站设计怎么收费公司开发设计推荐
  • 北京网站建设成都公司网络营销这个专业怎么样
  • 重庆网站开发服务湖南seo网站策划
  • 小说网站做封面要钱吗灰色关键词代发可测试
  • 如何自己做外贸网站域名注册管理机构
  • 上海市工程建设质量管理协会网站网上培训
  • 微信公众号推广赚钱aso安卓优化公司
  • 浅谈网站建设的目的和意义企业网站建设专业服务
  • 微信打赏wordpress百度seo服务公司
  • 做论坛网站如何赚钱如何申请一个网站域名
  • 广州新型病毒最新情况成都公司网站seo
  • 网站个人备案做论坛网站seo优化方案策划书
  • 遵义企业做网站市场营销策划公司
  • 做ppt接单的网站第三波疫情将全面大爆发
  • 兰州市城乡建设局网站武汉seo首页优化公司
  • 网站设计方案论文软文广告300字范文
  • tdk标签影响网站权重花西子网络营销案例分析
  • 如何做阿语垂直网站seo排名点击手机
  • 安县网站制作夜夜草
  • 开发外贸网站开发新媒体运营哪个培训机构好
  • 免费咨询图片素材seo推广收费标准
  • 几何背景生成器网站金阊seo网站优化软件
  • 怎么做跟别人一样的网站吗百度舆情
  • 区政府门户网站建设方案百度广告代理公司