mirror of
https://github.com/HChaZZY/Any2MIF.git
synced 2025-12-06 10:33:49 +08:00
107 lines
3.5 KiB
Markdown
107 lines
3.5 KiB
Markdown
# 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) |