实用指南:【OpenCV】图像处理实战:边界填充与阈值详解

news/2025/11/1 19:13:36/文章来源:https://www.cnblogs.com/yxysuanfa/p/19183732

目录

1.边界填充

2.图像的相关数值计算

3.图像融合

4.图像阈值


1.边界填充

用的函数都是copyMakeBorder,最后的参数是填充方法

2.图像的相关数值计算

每个像素点加10

[:5,:,0]只打印前面5行

add是直接等于两图像的像素点值之和,但是不可以超过255,超过255就等于255

3.图像融合

图像大小不一样不能融合

进行相应的转换

也可以将目标值设为(0,0),进行比例缩放

fx=4表示将x轴变为原来的4倍

fy=4表示将y轴变为原来的4倍

也可以缩放为其他倍数

0.4是cat图像的权重,0.6是dog图像的权重,0是偏置项(给图像提亮多少)

4.图像阈值

函数

cv2.threshold(src, thresh, maxval, type)

函数作用

cv2.threshold() 函数的主要功能是将灰度图像转换为二值图像。在转换过程中,会把图像中每个像素的值与设定的阈值进行比较,再依据比较结果为该像素赋予新的值。

参数解析

cv2.threshold(src, thresh, maxval, type) 函数包含 4 个参数,下面分别介绍:

  1. src:这是输入的图像,要求必须是单通道的灰度图像。如果传入的是彩色图像,需要先将其转换为灰度图。

  2. thresh:即设定的阈值,是一个浮点数或者整数。在比较时,会用图像中每个像素的值与这个阈值作对比。

  3. maxval:当像素值满足阈值条件时,会将该像素的值设为这个 maxval。它也是一个浮点数或者整数。

  4. type:表示阈值处理的类型,有多种选择,具体如下:

    1. cv2.THRESH_BINARY:二值阈值,若像素值大于阈值,则设为 maxval,否则设为 0。

    2. cv2.THRESH_BINARY_INV:反二值阈值,像素值大于阈值时设为 0,否则设为 maxval

    3. cv2.THRESH_TRUNC:截断阈值,像素值大于阈值时设为阈值,否则保持原像素值。

    4. cv2.THRESH_TOZERO:归零阈值,像素值大于阈值时保持不变,否则设为 0。

    5. cv2.THRESH_TOZERO_INV:反归零阈值,像素值大于阈值时设为 0,否则保持不变。

    6. cv2.THRESH_OTSU:大津法自动阈值,会自动计算最优阈值,使用时需将该标志和前面的阈值类型结合,例如 cv2.THRESH_BINARY + cv2.THRESH_OTSU

返回值

该函数会返回两个值:

  • ret:返回计算得到的阈值。如果使用了 OTSU 或 TRIANGLE 方法,就会返回自动计算出的阈值,否则返回设定的阈值。

  • dst:是处理后的输出图像,为二值图像。

import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像并转换为灰度图
image = cv2.imread('example.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 应用不同的阈值处理
ret1, thresh1 = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
ret2, thresh2 = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV)
ret3, thresh3 = cv2.threshold(gray, 127, 255, cv2.THRESH_TRUNC)
ret4, thresh4 = cv2.threshold(gray, 127, 255, cv2.THRESH_TOZERO)
ret5, thresh5 = cv2.threshold(gray, 127, 255, cv2.THRESH_TOZERO_INV)
# 使用 OTSU 方法自动计算阈值
ret6, thresh6 = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
# 显示结果
titles = ['Original', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV', 'OTSU']
images = [gray, thresh1, thresh2, thresh3, thresh4, thresh5, thresh6]
plt.figure(figsize=(12, 8))
for i in range(7):plt.subplot(2, 4, i+1)plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.tight_layout()
plt.show()

物体检测适合用 BINARY 类型,而图像降噪可考虑 TOZERO 类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

music-manage

music-manage项目整体分析(音乐管理系统前端) 一、项目架构与技术栈 这是一个基于 Vue.js 的单页应用(SPA),主要用于音乐平台的后台管理系统,技术栈包括:核心框架:Vue.js(前端页面构建) 路由:Vue Router(页…

百人互联网企业OKR推行与考核适用建议

对于百人规模的互联网企业,正处于快速发展期,强调创新、协同和敏捷至关重要。OKR是推动这一切的理想框架。 1. OKR内部推行范围:建议全员推行。从CEO到研发、产品、运营、市场乃至职能支持部门(如人力、财务),都…

部署常用命令

部署常用命令pnpm install //安装项目所需要的所有依赖 //会根据pacage.json里面的依赖配置,安装所有必须的依赖,并生成node_modules目录 //依赖完成后,再次运行构建命令行 pnpm run build //若仍旧报错,排查pacag…

解决GRPO优势归因错误,Chunk-GRPO让文生图模型更懂节奏

文本到图像(T2I)生成模型的发展速度超出很多人的预期。从SDXL到Midjourney,再到最近的FLUX.1,这些模型在短时间内就实现了从模糊抽象到逼真细腻的跨越。但问题也随之而来——如何让模型生成的不仅仅是"一张图&quo…

2025 年 10 月虎头鲨/沙塘鳢/呆子鱼/虾虎鱼养殖厂家推荐排行榜,鱼苗批发,成鱼价格,中华河川沙鳢,土憨巴塘鳢专业养殖公司精选!

2025 年 10 月虎头鲨/沙塘鳢/呆子鱼/虾虎鱼养殖厂家推荐排行榜,鱼苗批发,成鱼价格,中华河川沙鳢,土憨巴塘鳢专业养殖公司精选! 随着水产养殖业的快速发展,虎头鲨、沙塘鳢、呆子鱼和虾虎鱼等特色淡水鱼类的市场需…

2025 年 11 月人造草坪足球场厂家最新推荐,产能、专利、环保三维数据透视!

在人造草坪足球场采购中,产能稳定性、技术创新性与环保合规性已成为衡量企业实力的核心标尺。据行业协会 11 月发布的《行业核心竞争力报告》显示,76% 的采购方将这三项指标列为合作决策的首要依据,而同时满足三维指…

2025 年 11 月人造草坪足球场厂家最新推荐,榜单透视与选购要点!

人造草坪足球场采购中,采购方常因缺乏清晰的榜单参考与选购标准,陷入 “盲目对比、决策困难” 的困境。据行业协会 11 月发布的《采购行为调研报告》显示,82% 的采购方希望获得兼具权威性与实用性的厂家榜单,且 65…

2025年11月人造草坪足球场厂家最新推荐,实力品牌深度解析采购无忧之选!

在人造草坪足球场采购过程中,品牌实力参差不齐导致的采购风险(如交付延期、质量不达标、售后缺失)成为采购方核心顾虑。据行业协会 11 月发布的《品牌实力与采购风险调研报告》显示,69% 的采购方因选择非实力品牌遭…

SpiritConfigTool.jar 做什么的

SpiritConfigTool.jar 做什么的✅ 用途概览在某篇技术博客中提到:“SCT(Spirit Config Tool)是 MaxLinear 提供的一款 Java-based 应用程序,也是开发 G.hn WAVE-2 应用工具和辅助诊断工具。” wpgdadatong.com根据…

agent框架

agent框架https://cloud.tencent.com/developer/news/2302074

agent框架

agent框架https://cloud.tencent.com/developer/news/2302074

解码LVGL基础

LVGL9.2 源码结构 LVGL9.2 源码按功能模块化划分,核心目录及文件的详细作用如下:路径 核心文件 / 子目录 功能说明/ CMakeLists.txt 顶层编译配置文件,控制整个工程的编译规则:- 可指定编译类型(静态库STATIC/ 动…

CSP-J2025 题解

拼数 思路 先考虑怎么把数字提取出来,可以拿一个字符串变量存储整个输入,然后遍历这个字符串,如果当前字符是 0 到 9 就可以通过将它减去 0 的方式放到一个整形数组中。 接下来考虑拼出最大的数,显然让这个数组从大…

CSP-S2025

流程是: T1-60pts -> T2-56pts -> T3-10pts -> T4-8pts -> T1-100pts

MySQL 慢查询日志slow query log - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年 11 月离心喷雾干燥机,振动流化床干燥机,带式干燥机厂家最新推荐,品牌深度解析采购无忧之选!

近期,行业权威协会针对离心喷雾干燥机、振动流化床干燥机、带式干燥机领域开展专项测评,通过对设备性能参数、生产企业技术实力、市场用户反馈等多维度数据采集分析,最终形成本次推荐榜单。测评过程中,不仅对设备的…

unity技巧备忘

在编辑器,检视面板 中执行代码 using UnityEngine; public class HighScore : MonoBehaviour { public bool resetHighScoreNow = false;private void OnDrawGizmos(){if (resetHighScoreNow){resetHighScoreNow …

前端开发技术栈

目录Nodejs参考资料 Nodejs 工具链: Node.js 是前端开发工具链的重要组成部分,例如用于构建工具、包管理器(如 npm)等,这些工具可以在本地开发环境中运行。 非直接开发: 虽然 Node.js 本身不直接属于前端,但它通…

SOA、ESB、微服务、分布式概念及专业名词阐述

SOA、ESB、微服务概念1 SOA 面向服务 SOA全称:Service Oriented Architecture,面向服务框架。它是一种设计理念,其中包含多个服务,服务之间通过相互依赖最终提供一系列完成的功能。各个服务通常以独立的形式部署运…