mirror of
https://github.com/HChaZZY/Any2MIF.git
synced 2025-12-06 10:33:49 +08:00
main
Any2MIF 文件转换器
Any2MIF是一个现代化的文件转换工具,可以将任意文件转换为MIF(Memory Initialization File)格式,并提供基础的图像处理功能。
功能特点
- 文件转换:将任意文件转换为MIF格式
- 参数配置:自定义WIDTH、DEPTH、基数设置和地址偏移量
- 图像处理:支持灰度化、二值化、降噪处理和尺寸标准化
- 批量处理:支持批量转换多个文件
- 主题切换:支持浅色/深色主题
系统要求
- Python 3.8+
- PyQt6
- Pillow
- NumPy
安装
- 克隆或下载本仓库
- 安装依赖:
pip install -r requirements.txt
使用方法
运行主程序:
python main.py
打包为可执行文件
Any2MIF可以使用Nuitka打包成单文件.exe可执行程序,无需安装Python环境即可运行。
使用build.py脚本打包
-
确保已安装所有依赖:
pip install -r requirements.txt -
运行build.py脚本:
python build.py这将自动安装Nuitka(如果尚未安装),并将项目打包成名为"Any2MIF.exe"的单文件可执行程序。
-
打包选项:
- 指定输出文件名:
python build.py --output MyConverter - 保留控制台窗口(用于调试):
python build.py --console
- 指定输出文件名:
手动使用Nuitka打包
如果你想手动控制打包过程,可以直接使用Nuitka命令:
pip install nuitka
python -m nuitka --standalone --onefile --windows-disable-console --include-package=PyQt6 --include-package=PIL --include-package=numpy --include-data-dir=resources=resources --output-filename=Any2MIF.exe main.py
打包后的可执行文件可以在任何Windows系统上运行,无需安装Python或其他依赖。
基本操作流程
- 点击"添加文件"或"添加文件夹"按钮,或直接拖放文件到应用程序中
- 配置转换参数(数据宽度、深度、数据格式等)
- 如果是图像文件,可以使用图像处理工具进行预处理
- 点击"转换"按钮开始转换
- 选择输出目录
- 等待转换完成
参数说明
- 数据宽度 (WIDTH):指定MIF文件中每个数据的位宽(8位、16位或32位)
- 深度 (DEPTH):指定MIF文件中的数据数量,可以自动计算或手动设置
- 数据格式:指定MIF文件中数据的表示方式(十六进制、二进制或十进制)
- 地址偏移量:指定MIF文件中地址的起始值
- 地址格式:指定MIF文件中地址的表示方式(标准格式或紧凑格式)
- 每行数据数量:指定MIF文件中每行显示的数据数量
图像处理
对于图像文件,Any2MIF提供以下处理功能:
- 灰度化:将彩色图像转换为灰度图像,支持平均值法、加权平均法和最大值法
- 二值化:将灰度图像转换为黑白图像,支持固定阈值、自适应阈值和Otsu阈值
- 降噪处理:去除图像中的噪点,支持中值滤波、高斯滤波和双边滤波
- 尺寸标准化:调整图像大小,可以保持或不保持纵横比
许可证
Copyright (c) 2025 Any2MIF Project
本项目采用GNU Affero通用公共许可证第3版(AGPL-3.0)进行许可。
这意味着:
- 您可以自由使用、修改和分发本软件
- 如果您修改了本软件,必须以相同的许可证发布修改后的版本
- 如果您通过网络提供本软件的服务,必须提供完整的源代码
- 详细条款请参阅GNU AGPL-3.0许可证
Languages
Python
100%