Files
Any2MIF/README.md
2025-03-07 15:32:58 +08:00

107 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Any2MIF 文件转换器
Any2MIF是一个现代化的文件转换工具可以将任意文件转换为MIFMemory 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)