欧姆龙机器视觉软件系统fh fz fj仿真软件CCD 欧姆龙CCD视觉检测模拟软件 欧姆龙图像传感器FH软件,带仿真 FH系列是FZ的升级版,包含FZ所有功能

先说说FZ系列吧,这玩意儿相当于基础款图像处理工具包。比如你要做个简单的二维码识别,用FZ的API大概长这样:

from OmronFZ import CameraController, BarcodeReader

camera = CameraController(ip="192.168.1.100")
img = camera.capture()
decoder = BarcodeReader()
result = decoder.decode(img)
print(f"识别结果:{result.data} 置信度:{result.confidence:.2f}")

代码里CameraController负责控制工业相机,BarcodeReader是专门处理条码的模块。不过FZ有个硬伤——不支持深度学习模型,遇到复杂缺陷检测就抓瞎。

这时候FH系列的优势就显出来了。FH不仅兼容FZ的所有功能,还多了个NNProcessor模块。举个PCB板焊点检测的例子:

from OmronFH import VisionHub, NNProcessor

# 加载预训练模型
model = NNProcessor.load_model("solder_joint_defect.onnx") 

# 仿真模式启动
with VisionHub(simulation_mode=True) as hub:
    simulated_img = hub.generate_simulation_image(board_type="PCB-1368")
    defects = model.analyze(simulation_img, threshold=0.85)
    
    for idx, defect in enumerate(defects):
        print(f"缺陷{idx+1}: 类型[{defect.type}] 坐标({defect.x}, {defect.y})")

这段代码有意思的地方在VisionHub的simulation_mode,不用接真实硬件就能跑检测流程。FH的仿真引擎能根据板子类型生成带随机缺陷的模拟图像,这对调试算法参数巨方便。

再对比下FZ和FH的图像预处理性能。我们测个高斯滤波耗时:

import time
from OmronFZ import ImageProcessor as FZProcessor
from OmronFH import ImageProcessor as FHProcessor

test_img = np.random.rand(2048, 2048)  # 生成2K测试图像

# FZ处理
start = time.time()
FZProcessor.gaussian_blur(test_img, kernel_size=5)
print(f"FZ耗时: {time.time()-start:.4f}s")

# FH处理
start = time.time()
FHProcessor.accelerated_gaussian(test_img, kernel_size=5)
print(f"FH耗时: {time.time()-start:.4f}s")

跑下来FH能比FZ快3倍左右,秘密在于FH用了GPU加速。看源码会发现FH的accelerated_gaussian用了CUDA内核,这点对实时检测特别重要。

最后说个实战技巧:FH的仿真数据可以和真实设备混用。比如这样玩:

def hybrid_test():
    real_camera = CameraController(ip="192.168.1.101")
    sim_camera = VisionHub(simulation_mode=True)
    
    for _ in range(10):
        # 交替使用真实和模拟图像
        img = real_camera.capture() if random.random() > 0.5 else sim_camera.generate_simulation_image()
        # 后续检测流程...

这种虚实结合的操作能在不中断产线的情况下测试新算法,搞过现场调试的都知道这有多香。FH系列把这些细节都考虑进去了,确实比FZ上道不少。

更多推荐