Görüntü işleme ile Çizik Kontrolü 1

Konveyör hat üzerinde dakikada 350 adet konserve kapağı geçen istasyon üzerinde görüntü işleme ile çizik kontrol demo çalışması gerçekleştirdik.

Yüksek FPS’li kamera kullanılarak gerçekleştirilen kameralı kontrol demo çalışmasında yüzey analizi (çizik kontrolleri) %100 başarı ile gerçekleştirildi.

Aydınlatma yönteminin bazı konserve kapaklarında işe yaramaması ve yüzey üzerinde kalan bazı toz parçaları çizik gibi durması bu projesinin en zor yanlarından biri oldu.

Halcon Kodları:
  reduce_domain(ImageGray, RegionTrans, R)
    
    get_image_size(R, Width, Height)
    mean_image(R, R, 1, 1)   
    invert_image (R, ImageInverted)
    optimize_rft_speed (Width, Height, 'standard')   
    gen_sin_bandpass (ImageBandpass, 0.4, 'none', 'rft', Width, Height)
    rft_generic (ImageInverted, ImageFFT, 'to_freq', 'none', 'complex', Width)
    convol_fft (ImageFFT, ImageBandpass, ImageConvol)
    rft_generic (ImageConvol, Lines, 'from_freq', 'n', 'byte', Width)    
    daire:=0
 
    threshold (Lines, Region, 5, 80)
    

   connection (Region, ConnectedRegions)
    select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 88, 1417)
    dilation_circle (SelectedRegions, RegionDilation, 5.5)
    connection(RegionDilation, ConnectedRegions1)
    count_obj(Image1, Number)
    *    dev_display(Image1)
  *  dev_display(RegionDilation)

    if(Number>0)
        Results:=0
        disp_obj (R, WinHandle1)
        disp_obj (ConnectedRegions1, WinHandle1)
        
        disp_message(WinHandle1, 'Ölçüm Sonucu NOK', 'window', 10, 10, 'red', 'true')
     *   disp_message(WinHandle1, 'Hata Sayısı:'+Number, 'window', 50, 10, 'red', 'true')
        
    else
        Results:=1
        disp_obj (R, WinHandle1)
        disp_obj (ConnectedRegions1, WinHandle1)
        
        disp_message(WinHandle1, 'Ölçüm Sonucu OK', 'window', 10, 10, 'red', 'true')
        
    endif

Benzer Yazılar