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

美食网站开发详细设计绍兴seo公司

美食网站开发详细设计,绍兴seo公司,ps网页设计教程全集,宣城地宝网站开发文章目录 一、图像预处理9. 图像掩膜9.1 制作掩膜9.2 与运算1.原理2.语法 9.3 颜色替换9.4案例 一、图像预处理 9. 图像掩膜 创建的掩膜方便我们对目标区域进行操作。 9.1 制作掩膜 掩膜通常是一个二值化图像,并且与原图像的大小相同。其中目标区域被设置为1&am…

文章目录

  • 一、图像预处理
    • 9. 图像掩膜
      • 9.1 制作掩膜
      • 9.2 与运算
        • 1.原理
        • 2.语法
      • 9.3 颜色替换
      • 9.4案例

一、图像预处理

9. 图像掩膜

创建的掩膜方便我们对目标区域进行操作。

9.1 制作掩膜

掩膜通常是一个二值化图像,并且与原图像的大小相同。其中目标区域被设置为1(或白色),而其他需要掩盖的区域被设置为0(或黑色)。图像的颜色空间要求为HSV,不是需要转化。如下图:为红色创建掩膜

在这里插入图片描述

通过这个掩膜,我们就可以对掩膜中的白色区域所对应的原图中的区域进行处理与操作。

  • cv2.inRange用于进行多通道图像(尤其是彩色图像)的阈值操作计算。就是创建掩膜。语法:

    • # 返回一个图片
      mask=cv.inRange(img,color_low,color_high)
      
  • 参数:

    • HSV颜色空间的图像
    • color_low:np.array( [hmin,smin,vmin] ) 目标颜色的最小值
    • color_high:np.array( [hmax,smax,vmax] ) 目标颜色的最大值
      • color_low和color_high形成颜色区间
  • 常用颜色的HSV范围图:此处把部分红色归为紫色范围

在这里插入图片描述

  • 案例:
import cv2 as cv
import numpy as np
# 创建黄色的淹膜
img = cv.imread("./images/demo.png")
img_r = cv.resize(img, (200, 200))
# 颜色空间转化为HSV
hsv_img = cv.cvtColor(img_r, cv.COLOR_BGR2HSV)
# 设置颜色区间
color_low = np.array([26,43,46])
color_high = np.array([34,255,255])
# 创建的淹膜和原图一样,二值化图片
mask = cv.inRange(hsv_img, color_low, color_high)
cv.imshow("mask", mask) # 显示掩膜
cv.imshow("img", img_r,) # 显示原图
cv.waitKey(0)
cv.destroyAllWindows()

9.2 与运算

可以得到掩膜获取了哪些区域(将获取的区域显示原图颜色,其他区域还是显示黑色)

1.原理

将原图像掩膜进行“与”运算,每一个像素点都要进行与运算,运算结果三种情况:

  • 白色(255,255,255) and 黑色(0,0,0) 结果是 黑色

  • 白色(255,255,255) and 其他颜色(1,2,3) 结果是 其他颜色

  • 黑色(0,0,0) and 其他颜色(1,2,3) 结果是 黑色

  • 解释

"""
1.与运算,是比较二进制数值的每一位,都为1的结果是1,否则为0
2.白色(255,255,255)  对应的二进制-> 1111 1111
3.黑色(0,0,0)  对应的二进制->  0000 0000
所以:
任何颜色 '与' 黑色  都是 0000 0000
其他颜色 '与' 白色  都是 其他颜色自己
"""

如下右三图为原图与掩膜“与”运算的结果

在这里插入图片描述

2.语法

将scr1,scr2,掩膜依次进行“与”运算,这里的scr1 = scr2

  • cv2.bitwise_and(src1,src2[,mask])
    
    • src1:第一个输入数组。通常是输入的原始图像。
    • src2:第二个输入数组。它可以是另一个图像、一个常数值或者与 src1 相同的图像。
      • 当应用掩膜时,这个参数经常就是src1本身;即对同一个图像进行操作。
      • 如果对两个不同的图像执行按位与操作(例如,将两张图片的某些部分组合在一起),可以分别将它们作为 src1src2 输入到 cv2.bitwise_and() 函数中,创建复杂的图像效果或进行图像合成。
    • mask:掩膜(可选)。输入数组元素只有在该掩膜非零时才被处理。是一个8位单通道的数组,尺寸必须与src1src2相同。
    • 返回值:输出数组,应用掩膜后的图像,与输入数组大小和类型相同。

9.3 颜色替换

创建的掩膜,可以用于帮助颜色替换。

  • 掩膜中的白色区域就是原图中需要修改的区域。

  • 因为掩膜和原图大小相同,所以可以:

    • img_r[mask == 255] = (0,255,0)
      
    • img_r是BGR颜色空间存储的np数组

    • mask是创建的掩膜,其本身是个np数组

    • (0,255,0) 是替换的颜色

9.4案例

import cv2 as cv
import numpy as np# 创建黄色的淹膜
img = cv.imread("./images/demo.png")
# 调整图片大小
img_r = cv.resize(img, (200, 200))
# 颜色空间转化为HSV
hsv_img = cv.cvtColor(img_r, cv.COLOR_BGR2HSV)# 设置颜色区间
color_low = np.array([26,43,46])
color_high = np.array([34,255,255])
# 创建的淹膜和原图一样,二值化图片
mask = cv.inRange(hsv_img, color_low, color_high)# 与运算
yu = cv.bitwise_and(img_r, img_r, mask=mask)# 颜色替换 - 原图中 对应掩膜中的白色区域 改成 任意颜色
img_r[mask == 255] = (0,255,0)cv.imshow("yu", yu)  # 显示结果
cv.imshow("mask", mask)  # 显示掩膜
cv.imshow("img", img_r,)  # 显示原图
cv.waitKey(0)
cv.destroyAllWindows()
http://www.dtcms.com/wzjs/279874.html

相关文章:

  • 科网站建设如何优化关键词的排名
  • 怎样做免费的网站推广深圳优化公司哪家好
  • 我国基层政府网站建设情况东莞关键词优化软件
  • 网站诊断从哪里开始营销推广外包公司
  • 做网站卖赚钱吗安卓系统最好优化软件
  • 网站制作的主要流程百度识图软件
  • 机械网站建设中心seo是什么意思为什么要做seo
  • 建设银行网站理财产品为何不让买百度网址大全旧版安装
  • 用KEGG网站做KEGG富集分析微信指数查询入口
  • 海外 国内网站建设广州seo推广优化
  • 安徽元鼎建设公司网站软文广告经典案例100字
  • 杭州下沙网站建设免费推广平台有哪些
  • 唐山网站建设优化石家庄seo网站管理
  • 个人主题网站设计论文广告公司品牌营销推广
  • 大型网站开发成本北京百度推广官网首页
  • 西宁电商网站建设汽车网络营销推广方案
  • 杭州企业网站建设 哪里好合理使用说明
  • 武汉seo系统南通seo
  • 万网怎么创建网站搜索引擎优化简称
  • 网站建设的一般步骤网络营销推广方法十种
  • 响应式网站建设哪里有必应搜索引擎
  • 临沂网站制作培训关键词搜索名词解释
  • 电子商务网站建设作业关键词分词工具
  • 网站建设策划文案百度电脑版下载官网
  • 广州企业网站公司b站推广平台
  • 怎样找素材做网站武汉做网络推广的公司
  • 国税部门强化网站建设数字营销是干啥的
  • 网站搭建服务器需要多少钱前端优化
  • 遵义网站建设公司网站制作的步骤
  • 做哪个网站的人多百度资源分享网