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

建网站素材企业中英文网站开发

建网站素材,企业中英文网站开发,网站建设公司没有业务,有什么好的设计网站一.ROI切割 类似裁剪图片,但是原理是基于Numpy数组的切片操作(ROI数组切片是会修改原图数据的),也就是说这个“裁剪”不是为了保存“裁剪”部分,而是为了方便修改等处理。 import cv2 as cv import numpy as npimg cv.imread(../images/dem…

一.ROI切割

        类似裁剪图片,但是原理是基于Numpy数组的切片操作(ROI数组切片是会修改原图数据的),也就是说这个“裁剪”不是为了保存“裁剪”部分,而是为了方便修改等处理。

import cv2 as cv
import numpy as npimg = cv.imread('../images/demo.png')# 前面是height,后面是width
roi = img[70:380, 81:450]cv.imshow('Original', img)
cv.imshow('ROI', roi)
cv.waitKey(0)
cv.destroyAllWindows()

二.图像添加水印

        也将一张图片中的某个物体或者图案提取出来,然后叠加到另一张图片上。通过将原始图片转换成灰度图,并进行二值化处理,得到一个类似掩膜的图像。

        简要来讲,就是得到一个目标区域大小的黑背景白logo掩膜(获取logo颜色),和一个白背景黑logo掩膜(获取背景颜色),然后两个分别对logo原图和目标区域进行与运算,然后处理后的两个图做饱和运算,就可以得到有颜色有背景的图了。

2.1 模板输入

        就是包含水印的图片,先灰度化后二值化(分别用阈值法和反向阈值法),这就得到了白色logo黑背景的掩膜和黑logo白色背景的掩膜。

import cv2 as cv
import numpy as npimg = cv.imread('../images/ymb3.jpg')# 进行灰度转化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 二值化(阈值法),后续获取原logo颜色
_, binary = cv.threshold(gray, 127, 255, cv.THRESH_BINARY)
# 二值化(反阈值法),后续获取目标区域背景色
_, binary_inv = cv.threshold(gray, 127, 255, cv.THRESH_BINARY_INV)# 显示图像
cv.imshow('binary', binary)
cv.imshow('binary_inv', binary_inv)
cv.waitKey(0)
cv.destroyAllWindows()

2.2 与运算

        根据掩膜的大小切割出一个ROI区域,也就是我们要添加水印的区域,之后让其与模板的两个掩膜进行运算,就可以得到有logo黑背景黑logo有目标区域背景的掩膜。

import cv2 as cv
import numpy as nplogo = cv.imread('../images/ymb3.jpg')
sy = cv.resize(logo, (150, 150))
img = cv.imread('../images/lvbo.png')# 进行灰度转化
gray = cv.cvtColor(sy, cv.COLOR_BGR2GRAY)# 二值化(阈值法),后续获取原logo颜色
_, binary = cv.threshold(gray, 200, 255, cv.THRESH_BINARY)
# 二值化(反阈值法),后续获取目标区域背景色
_, binary_inv = cv.threshold(gray, 200, 255, cv.THRESH_BINARY_INV)# ROI区域提取,先获取掩膜大小
print(binary.shape)
print(img.shape)# 从目标图想要加入水印的地方切片一个相同大小的区域
roi = img[100:250, 100:250]# 掩膜与目标图进行与运算,获取目标图中ROI区域的背景色
bg = cv.bitwise_and(roi, roi, mask=binary)# 掩膜与logo进行与运算,获取logo中的水印色
wm = cv.bitwise_and(sy, sy, mask=binary_inv)# 显示图像
cv.imshow('b', binary)
cv.imshow('bi', binary_inv)
cv.imshow('sy', sy)
cv.imshow('bg', bg)
cv.imshow('wm', wm)
cv.waitKey(0)
cv.destroyAllWindows()  

(150, 150)
(626, 1075, 3)

2.3 图像融合

目的就是将图像对应的数组中的对应元素进行相加

        就是opencv两张图相加,饱和运算就是加数值,黑色的区域是0,加5就是5,所以就可以替换黑色变成有颜色的部分。

# 合并logo水印与背景色
dst = cv.add(bg, wm)# 将融合图像插入目标图中
img[100:250, 100:250] = dst
cv.imshow('re', dst)
cv.imshow('result', img)
cv.waitKey(0)
cv.destroyAllWindows()

我这里是因为图片里面很多颜色像白色,所以效果不是很好。

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

相关文章:

  • 嘉兴房产网站建设网页设计与网站建设郑州大学
  • 维修网站源码网页传奇游戏排行榜2022
  • 广告联盟下载湖南网站搜索排名优化电话
  • 最好要使用中文目录seo引擎优化软件
  • 福州有哪些制作网站公司如何做自己网站平台
  • 莱芜金点子广告手机版青岛seo网络优化公司
  • 个人网站推荐网站建设软件免费
  • 新会住房建设局网站直播app开发需求
  • 上传网站怎么安装阿树 wordpress
  • 网站建设服务哪家有长沙市网站制作哪家专业
  • 怎样给网站做超链接软文推广多少钱一篇
  • 网站建设及规划方案南阳专业做网站公司
  • 黑龙江建设网查询平台深圳seo公司
  • 做啊录音网站视频推广方式
  • 石家庄免费自助建站模板在线制作印章生成免费
  • 网站网页打不开怎么办wordpress 小米主题制作
  • 网站群建设接入指南室内设计公司经营范围
  • 如何建立自己的网站商城外链工厂
  • 金融网站 源码宁波创世纪网络科技有限公司
  • 网站建设2017国内排行免费获取资源的公众号
  • 北京市海淀区网站建设湖北建网站公司
  • 企业网站空间备案吗企业快速建站免费模板
  • 电商网站功能模块html编辑器代码
  • 网站开发 调试广州口碑好的网站建设设计
  • 论坛网站太难做没人南宁优化网站收费
  • 网站维护的基本概念专注电子商务网站建设
  • 霞浦网站建设html设计简单校园网页代码
  • 学网站开发跟那个专业最相近wordpress健身模版
  • 博学网站建设公司电子产品东莞网站建设
  • 阿里巴巴的网站是自己做的吗企业网站开发摘要