# Any2MIF 文件转换器 Any2MIF是一个现代化的文件转换工具,可以将任意文件转换为MIF(Memory Initialization File)格式,并提供基础的图像处理功能。 ## 功能特点 - **文件转换**:将任意文件转换为MIF格式 - **参数配置**:自定义WIDTH、DEPTH、基数设置和地址偏移量 - **图像处理**:支持灰度化、二值化、降噪处理和尺寸标准化 - **批量处理**:支持批量转换多个文件 - **主题切换**:支持浅色/深色主题 ## 系统要求 - Python 3.8+ - PyQt6 - Pillow - NumPy ## 安装 1. 克隆或下载本仓库 2. 安装依赖: ```bash pip install -r requirements.txt ``` ## 使用方法 运行主程序: ```bash python main.py ``` ## 打包为可执行文件 Any2MIF可以使用Nuitka打包成单文件.exe可执行程序,无需安装Python环境即可运行。 ### 使用build.py脚本打包 1. 确保已安装所有依赖: ```bash pip install -r requirements.txt ``` 2. 运行build.py脚本: ```bash python build.py ``` 这将自动安装Nuitka(如果尚未安装),并将项目打包成名为"Any2MIF.exe"的单文件可执行程序。 3. 打包选项: - 指定输出文件名:`python build.py --output MyConverter` - 保留控制台窗口(用于调试):`python build.py --console` ### 手动使用Nuitka打包 如果你想手动控制打包过程,可以直接使用Nuitka命令: ```bash 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或其他依赖。 ### 基本操作流程 1. 点击"添加文件"或"添加文件夹"按钮,或直接拖放文件到应用程序中 2. 配置转换参数(数据宽度、深度、数据格式等) 3. 如果是图像文件,可以使用图像处理工具进行预处理 4. 点击"转换"按钮开始转换 5. 选择输出目录 6. 等待转换完成 ### 参数说明 - **数据宽度 (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许可证](https://www.gnu.org/licenses/agpl-3.0.html)