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

2024年MathorCup数模竞赛B题问题一二三+部分代码分享

inputFolderPath = 'E:\oracle\images\';

outputFolderPath = 'E:\oracle\process\';

% 获取文件夹中所有图片的文件列表

imageFiles = dir(fullfile(inputFolderPath, '*.jpg'));

% 设置colorbar范围阈值

threshold = 120;

% 遍历每个图片文件

for i = 1:length(imageFiles)

% 读取图片

currentImage = imread(fullfile(inputFolderPath, imageFiles(i).name));

% 创建一个二值化图像,大于阈值的部分为1,其余部分为0

binaryImage = currentImage(:,:,1) > threshold;

% 将大于阈值的部分设为黑色,其余部分设为白色

resultImage = uint8(cat(3, ~binaryImage * 255, ~binaryImage * 255, ~binaryImage * 255));

% 保存新生成的图像到新的文件夹

[~, name, ext] = fileparts(imageFiles(i).name);

resultFileName = fullfile(outputFolderPath, [regexprep(name, '_filtered', '') ext]);

imwrite(resultImage, resultFileName);

end

 

1.降噪与细化处理:应用中值滤波和阈值法(大津算法Otsu's method)来减少噪声(去除了甲骨文内部一些白色噪点,同时将背景中大部分噪点去除,并将甲骨上边缘模糊的地方进行细化操作处理,注意保证甲骨文的清晰程度)

中值滤波降噪: 对甲骨文图像进行中值滤波操作,以减少图像中的噪声。

细化处理: 可以采用形态学操作中的细化算法对甲骨文边缘进行进一步细化,以保证甲骨文的清晰度。

 

import os
import cv2def denoise_image(image):# 中值滤波denoised_image = cv2.medianBlur(image, 5)  # 中值滤波# 高斯滤波# denoised_image = cv2.GaussianBlur(image, (7, 7), 0)  # 高斯滤波return denoised_image# 输入和输出目录
input_folder = 'E:/oracle/process1/'
output_folder = 'E:/oracle/process2/'# 确保输出目录存在
if not os.path.exists(output_folder):os.makedirs(output_folder)# 处理多张图片
for filename in os.listdir(input_folder):# 读取图像image_path = os.path.join(input_folder, filename)image = cv2.imread(image_path)# 降噪denoised_image = denoise_image(image)# 保存结果output_path = os.path.join(output_folder, filename)cv2.imwrite(output_path, denoised_image)

 

http://www.lryc.cn/news/337538.html

相关文章:

  • Ubuntu日常配置
  • GMSSL-通信
  • linux 磁盘分区Inode使用率达到100%,导致网站无法创建文件报错 failed:No space leftondevice(
  • 探索Python库的奇妙世界
  • SQL Server 存储函数(funGetId):唯一ID
  • 当你的项目体积比较大?你如何做性能优化
  • 第6章:6.3.2 一张表总结正则表达式的语法 (MATLAB入门课程)
  • VBA 实现outlook 当邮件设置category: red 即触发自动创建jira issue
  • 办公软件巨头CCED、WPS迎来新挑战,新款办公软件已形成普及之势
  • 架构设计-订单系统之订单系统的架构进化
  • 性能升级,INDEMIND机器人AI Kit助力产业再蜕变
  • 2024年妈妈杯数学建模C题思路分析-物流网络分拣中心货量预测及人员排班
  • prometheus\skywalking\splunk功能的区别
  • Harmony鸿蒙南向驱动开发-SPI接口使用
  • 芒果YOLOv7改进96:检测头篇DynamicHead动态检测头:即插即用|DynamicHead检测头,尺度感知、空间感知、任务感知
  • 独一无二:探索单例模式在现代编程中的奥秘与实践
  • centos7 安装 rabbitmq3.8.5
  • 利用SOCKS5代理和代理IP提升网络安全与匿名性
  • C++list模拟实现
  • 设计模式(22):解释器模式
  • kubernetes docker版本安装测试
  • 策略模式:灵活调整算法的设计精髓
  • [INS-30014]无法检查指定的位置是否位于 CFS 上
  • 机器学习和深度学习 -- 李宏毅(笔记与个人理解)Day 13
  • [Python图像识别] 五十二.水书图像识别 (2)基于机器学习的濒危水书古文字识别研究
  • Jmeter针对多种响应断言的判断
  • Harmony鸿蒙南向驱动开发-Regulator接口使用
  • 【opencv】示例-grabcut.cpp 使用OpenCV库的GrabCut算法进行图像分割
  • GEE数据集——巴基斯坦国家级土壤侵蚀数据集(2005 年和 2015 年)
  • 服务器代理