# JHPhoto_BASIC **Repository Path**: maxf110415/JHPhoto_BASIC ## Basic Information - **Project Name**: JHPhoto_BASIC - **Description**: 一个简单的图像测量软件。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-06-09 - **Last Updated**: 2025-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JHPhoto 一个显微镜图像显示处理软件 一个简单的显微镜图像显示软件。我希望具有的功能: 1. 支持尽可能多品牌的相机,包括国内的杭州图谱,海康机器人、德国Basler 等品牌的相机。 2. 显微图像的保存,视频的录制。 3. 支持常见的显微镜的一些自动化的功能。比如各家显微镜的电动物镜转盘的控制,光源的程序控制等。 4. 支持图像上的尺寸测量,包括两点间的距离,圆的直径、两条线的夹角、圆弧的半径和夹角等。可以根据当前的物镜数据计算尺寸。切换物镜时自动切换计算的尺寸。 5. 在第三项的基础上增加一些尺寸测量的自动化算法。实现一些半自动的测量功能。比如鼠标只要在圆上随便点一下,就可以快速测量出圆直径等。 6. 支持显微镜的电动样品台,比如 Prior 、Marzhauser 的电动样品台。也包括支持国内外的一些比较知名的运动控制卡。 7. 支持自动对焦功能,提供一些常见的图像评价的算法。也实现一些图像清晰度的寻优算法。在有电动Z轴的显微镜上实现自动对焦。 8. 实现显微镜的一些高级图像处理功能,比如景深叠加,曝光融合等。 9. 加入 3D 重构算法,实现 3D 显微镜的功能。 ## 依赖的第三方库 这个软件是基于 Qt 的,里面调用的第三方库比较多。主要可以分为三大类。 1. 第一类是各种硬件的支持库,包括各家相机的 SDK,电动样品台的 SDK。 2. 第二类是一些图像和视频的支持库,包括在相机的支持代码里大量的使用了 ffmpeg 库里面的像素格式转换功能。还有 OpenCV 用于图像处理算法。还使用到了 GNU Scientific Library (GSL) 用于各种数值计算。 3. 第三类是一些辅助类,比如日志库,boost 库等,用于某些地方的代码。 ## 现在实现的功能 这个程序陆陆续续写了有两三年了。前些年没有特别的构思框架,所以代码有些乱。但是很多功能还是实现了的。最近的工作重点就是把这些代码重构一遍,将其尽可能的模块化和规范化。 现在支持的相机包括: 1. 海康的工业相机,包括 USB 相机 和 GiGe 接口的相机 2. 杭州图谱的 USB 接口相机 3. 映美晶的相机 4. Basler 品牌的相机(测试还不充分) 现在支持的物镜转盘包括: 1. Olympus 的 CBFM 2. Olympus 的 REMCB 3. Nikon LV 系列金相显微镜的物镜转盘控制 4. OUMIT 的金相显微镜物镜转盘控制器 5. 南京永宁的物镜转盘控制器 支持的运动控制卡包括: 1. Galil DMC-B-140 2. 雷赛的SMC106A ## 下一步的工作 1. 重构物镜转盘控制,增加公共接口。在软件中可以配置当前使用的物镜转盘控制器。做到不需要更改代码就可以对应各家的物镜转盘。 2. 图像显示改为多 Tab 页模式。第一个Tab 页为相机的动态图像。后面Tab 为静态的图像,可以对静态图像进行各种图像处理。 3. 自动对焦功能,包括图像清晰度评价算法等。 4. 视频录制功能。录制前可以设置分辨率等参数。 5. 景深叠加,曝光融合功能。 6.