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

网站建设公司济南在广州做seo找哪家公司

网站建设公司济南,在广州做seo找哪家公司,网站开发的主要特点,要给公司做一个网站怎么做的【1】引言 前序学习了图像的得加方法,包括使用add()函数直接叠加BGR值、使用bitwise()函数对BGR值进行按位计算叠加和使用addWeighted()函数实现图像加权叠加至少三种方法。文章链接包括且不限于: python学opencv|读取图像(四十二&#xff…

【1】引言

前序学习了图像的得加方法,包括使用add()函数直接叠加BGR值、使用bitwise()函数对BGR值进行按位计算叠加和使用addWeighted()函数实现图像加权叠加至少三种方法。文章链接包括且不限于:

python学opencv|读取图像(四十二)使用cv2.add()函数实现多图像叠加-CSDN博客

python学opencv|读取图像(四十九)使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客 

python学opencv|读取图像(五十)使用addWeighted()函数实现图像加权叠加效果-CSDN博客 

这些方式都是实现图片的整体叠加,如果有时候想实现局部覆盖,就需要新的方法,这就是本文的学习目标。

【2】可行性分析

实现局部覆盖,本质上是改变了图像局部像素点上的BGR值,所以从更改BGR值的角度,这个目标可行。

首先,引入一张图像,然后从另一个图像里截取部分图像的BGR值形成第三个图,再把第三个图盖到第一个图像上就可以。

【3】代码测试

按照前述可行性分析思路,先引入相关模块和初始图像:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
srcx = cv.imread('srcx.png') #读取图像srcx.png
srcp = cv.imread('srcp.png') #读取图像srcp.png
rowsx,colsx,cansx=srcx.shape #读取图像属性
rowsp,colsp,cansp=srcp.shape #读取图像属性
print('srcx的图像属性为:',srcx.shape)
print('srcp的图像属性为:',srcp.shape)

代码引入了两个图像:srcx.png和srcp.png,并且对图像的基本属性进行了读取。

之后先截取第二张图像的部分像素区域:

#截取部分图像
srcp0=srcp[int(0.5*rowsp):int(0.8*rowsp),int(0.2*colsp):int(0.6*colsp),:]
rowsp0,colsp0,cansp0=srcp0.shape #读取图像属性
print('srcp0的图像属性为:',srcp0.shape)

之后用上一步截取的图像,直接覆盖到srcx.png上:

#srcx的部分像素点BGR值被srcp0覆盖
srcx[int(0.5*rowsx):int(0.5*rowsx)+rowsp0,int(0.26*colsx):int(0.26*colsx)+colsp0,:]=srcp0

这里使用的是等大的像素区域,使用截取BGR值覆盖原有BGR值。

然后直接输出图像:

#显示和保存图像
cv.imshow('srcx',srcx) #显示图像
cv.imwrite('srcx0.png',srcx) #保存图像
cv.imshow('srcp',srcp) #显示图像
cv.imshow('srcp0',srcp0) #显示图像
cv.imwrite('srcp0.png',srcp0) #保存图像cv.waitKey()  # 图像不关闭
cv.destroyAllWindows()  # 释放所有窗口

代码运行使用的图像有:

图1 第一张图像srcx.png

图2 第二张图像srcp.png 

截取后的部分图像为:

图3 截取图像srcp.png  

使用BGR覆盖后获得的叠加图像效果为:

图4 截取图像BGR覆盖叠加图像srcx0.png  

由图4可见,截取图像BGR覆盖叠加第一张图像后获得的srcx0.png 相对于初始图像srcx.png,完全覆盖了部分区域。

此时获得的图像基本属性读取数据为:

图5 读取图像属性值 

图5展示的图像基本属性值,给出了第一张初始图像srcx.png和第二张初始图像srcp.png的像素值,之外还给出了截取图像srcp0.png的像素值。

【4】细节说明

进行BGR值覆盖时,应注意像区域的划分:

图6 像素区域划分

如图6所示,像素区域划分过程中:

a.应保证像素其实点保持一致,如行的起始都是0.5*rows,列的起始都是0.25*cols,因为只有这样才能保证BGR覆盖的区域和截取的图像等大;

b.应确保像素值都是整数,不确定的时候就用int()强行转化。

此时的完整代码为:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
srcx = cv.imread('srcx.png') #读取图像srcx.png
srcp = cv.imread('srcp.png') #读取图像srcp.png
rowsx,colsx,cansx=srcx.shape #读取图像属性
rowsp,colsp,cansp=srcp.shape #读取图像属性
print('srcx的图像属性为:',srcx.shape)
print('srcp的图像属性为:',srcp.shape)#截取部分图像
srcp0=srcp[int(0.5*rowsp):int(0.8*rowsp),int(0.2*colsp):int(0.6*colsp),:]
rowsp0,colsp0,cansp0=srcp0.shape #读取图像属性
print('srcp0的图像属性为:',srcp0.shape)#srcx的部分像素点BGR值被srcp0覆盖
srcx[int(0.5*rowsx):int(0.5*rowsx)+rowsp0,int(0.26*colsx):int(0.26*colsx)+colsp0,:]=srcp0#显示和保存图像
cv.imshow('srcx',srcx) #显示图像
cv.imwrite('srcx0.png',srcx) #保存图像
cv.imshow('srcp',srcp) #显示图像
cv.imshow('srcp0',srcp0) #显示图像
cv.imwrite('srcp0.png',srcp0) #保存图像cv.waitKey()  # 图像不关闭
cv.destroyAllWindows()  # 释放所有窗口

【5】总结

掌握了使用python+opencv使用BGR值覆盖的方式实现图像叠加效果的技巧。

http://www.khdw.cn/news/11246.html

相关文章:

  • 微信读书网页版搜索引擎优化案例
  • 网站配色 蓝绿手机百度搜索app
  • 我被朋友拉进彩票网站说做代理seo搜索引擎优化
  • 资源搜索网站是怎么做的重庆seo教程博客
  • 响应式网页网站设计如何自己开网站
  • 政府信息网站建设对策十大成功营销策划案例
  • 深圳专业网站建设公司排名软文发布系统
  • 阿里云 wordpress hexoseo主管招聘
  • 铁哥们网站建设seo内部优化方案
  • 武汉参开网络网站建设公司百度关键词分析工具
  • 上海市中小企业服务云网站优化工具
  • 网站建设用哪种语言最好b站免费版入口
  • 网站开发日志周志网络营销的八大职能
  • 网站开发h5技术网络营销ppt讲解
  • win7下asp网站搭建seo优化培训课程
  • 专业全网推广建站公司手机优化大师下载安装
  • cs5怎么做网站电脑培训班附近有吗
  • 新疆网站开发域名解析查询站长工具
  • 郑州网站建设 个人工作室优化大师绿色版
  • h5和网站的区别如何免费制作网站
  • 网站有什么功能合肥网站关键词排名
  • 淘宝刷单网站制作怎样注册网站
  • 濮阳建设银行官方网站关键词数据分析工具有哪些
  • 培训行业门户网站建设方案汕头seo代理商
  • 用html5做的简单的网站百度关键词优化系统
  • 石家庄网络公司哪家靠谱seo怎么优化
  • 南昌建设局网站查询塔吊证脚本外链生成工具
  • 南昌哪里有网站建设百度销售岗位怎么样
  • 做网站的条件seo网站推广培训
  • 廊坊市网站推广深圳seo优化公司哪家好