DIY OpenCV Simple Laser Profiler 3D Scan 自製簡易雷射3D掃描

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2019
  • 這是製作雷射3D掃描器的最終步驟。
    Step 1: 相機校正 • DIY OpenCV Camera Cali...
    Step 2: 雷射線偵測 • DIY OpenCV Simple Demo...
    Step 3: 整合1及2 • DIY OpenCV Simple Lase...
    最終步驟: 累積3的掃描資訊並且移動Y軸。
    [延伸閱讀]
    什麼是trigger mode? • 工業相機取像模式、觸發模式的基本觀念及運用 ...
    如何估算3D掃描的視野及解析度?
    • Vision Optical Design ...
    This is the final step to build laser profile 3D scanner.
    Step 1: Camera calibration • DIY OpenCV Camera Cali...
    Step 2: Laser line detection • DIY OpenCV Simple Demo...
    Step 3: Integrate 1 and 2 • DIY OpenCV Simple Lase...
    Final Step: Accumulate 3 by shifting Y axis.
    [Extended reading]
    What is trigger mode? • 工業相機取像模式、觸發模式的基本觀念及運用 ...
    How to evaluate FOV and resolution of 3D scan?
    • Vision Optical Design ...
    因為 OpenCV 的網路資源已經很多,本系列只提供概念、觀念及教學,
    所以這裡沒有 Source Code 下載。
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 39

  • @HEWLETTGUP
    @HEWLETTGUP 4 ปีที่แล้ว +1

    Interesting work! Would you have a sample code or a tutorial on how to reach this?

  • @raylee141414
    @raylee141414 3 ปีที่แล้ว

    很利害啊!怎樣做的?

  • @nguyenngocthanh1403
    @nguyenngocthanh1403 ปีที่แล้ว

    hi Mr. Lin. Can I ask you a question? what library did you use to draw 3d reconstruction? You have a nice project, thanks for your share

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว +1

      If u mean the 3d point cloud displaying, I use Open3D. It is a C++ native library, I make a C# wrapper and WinForm control box.

    • @nguyenngocthanh1403
      @nguyenngocthanh1403 ปีที่แล้ว

      @@MachineVisionEasonLin thank you a lot

  • @NguyenNgocThanhB-vy8rh
    @NguyenNgocThanhB-vy8rh ปีที่แล้ว

    amazing!! i am so surprised at 0:21. how do you calculate the height of the sheet of paper? can you teach me some techniques to do this? Thank you so much

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      There has been already discussed in previous threads, u can check that.

  • @TerrenceWynn
    @TerrenceWynn 3 ปีที่แล้ว +1

    hi, Eason. I do the similar project like you. May I know how you can get the distance between each frame?
    sincerely,
    Terrence Wynn

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  3 ปีที่แล้ว

      Hi Terrence. The distance is given by a fixed frame rate and fixed moving speed, if you want to get a high accuracy frame distance (also called frame pitch) you have to use trigger mode, like th-cam.com/video/VefmQnHRQg0/w-d-xo.html

    • @JJ-vp3bd
      @JJ-vp3bd 3 ปีที่แล้ว

      @@MachineVisionEasonLin does this work with intelsense products?

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  3 ปีที่แล้ว

      Only single lens camera needed, not use intel realsense

    • @JJ-vp3bd
      @JJ-vp3bd 3 ปีที่แล้ว

      @@MachineVisionEasonLin whats the best in the market one can get to use with this kind of product in 2020? Any recommendations? Im looking to scan miniatures / figurines using this technique possibly

  • @redui93
    @redui93 3 ปีที่แล้ว

    Awesome work ! Could you please share your project with us ?

  • @user-tl6ts4zb3z
    @user-tl6ts4zb3z 4 ปีที่แล้ว

    Hi, it's a great work. I am using raspberry pi camera to do the similar job. However, the detection of laser line is not good. Could you share the parameters and camera you use? What's the wattage of your laser? 5mW or higher? Thanks for your time.

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  4 ปีที่แล้ว +1

      I only have a stereo camera (m.intl.taobao.com/detail/detail.html?spm=a1z10.5-c.w4002-17803052369.24.48f750de9R1uVM&id=555196448613) to build every demo. In this single lens triangulation case, I just use the half of stereo image.

    • @user-tl6ts4zb3z
      @user-tl6ts4zb3z 4 ปีที่แล้ว

      @@MachineVisionEasonLin Thanks a lot for your help. By the way, what's the laser you use? My laser line detection has some problems because some materials like anodized aluminum or black paper cannot be detected. It looks high reflection or low reflection makes bad detection. What's your suggestion?

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  4 ปีที่แล้ว

      Shiny surface is the congenital limitation of structured light (laser is structured light too), you can only reduce the problem, it can not be solved perfectly. First, you can use short wavelength (eg. blue) to increase the scattering effect (in triangulation case, camera captures the diffused reflection on the surface). Second, if possible (assume your target is a flat panel), you can put the laser and camera on the opposite angle to get more direct reflection light, but this approach will fail in none-flat surface (eg, curved surface). Third, use multi-exposure (HDR, short exposure + long exposure), and detect laser peak on dark image to extract reliable points, then detect the bright image to complete the missing points. This product (th-cam.com/video/-3TrvWp1h1Y/w-d-xo.html) has HDR function, however, it is too complicated to use Raspberry Pi to implement this mechanism.

    • @marciochao4849
      @marciochao4849 3 ปีที่แล้ว

      Hi Mr Lin,
      When you said that you just used half of stereo image, you mean that for this application single lens camera was sufficient?

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  3 ปีที่แล้ว

      A laser beam and a 2D camera constitute "laser triangulation" structure.

  • @carlosgubaira150
    @carlosgubaira150 ปีที่แล้ว

    Do u have a tutorial? I'm working on a similar project but with point laser, but it isn't working like it should

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      There is a tutotrial in this video info. panel, I show my steps of this project.

  • @yusufismailalrazaz6781
    @yusufismailalrazaz6781 2 ปีที่แล้ว

    awesome project sir,
    i start to learn basic open cv with python to do something like this,
    but i got much difficulity,

  • @nguyenngocthanh1403
    @nguyenngocthanh1403 ปีที่แล้ว

    hi, Eason, Where did you build the 3D model from? i tried using white pixel coordinates on the image after processing to draw but the result is very bad

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      I do not undertand what is 3D model as you mean?

    • @nguyenngocthanh1403
      @nguyenngocthanh1403 ปีที่แล้ว

      @@MachineVisionEasonLin I mean how do you make 3d models? i am working on a similar project but i don't know how to get 3d coordinates from image, create 3d model is the final step of my project. Can you help me solve this problem?

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      Yep, refer to the Step1 tutorial on the descritpon of this video. There should be a camera calibration progress before detecting the white pixel, after calibrated, you have to rotate the coordinate plane perpendicular to the table (parallel to the laser).

    • @nguyenngocthanh1403
      @nguyenngocthanh1403 ปีที่แล้ว

      @@MachineVisionEasonLin yeah, thank you so much but how can i calculate the resolution in y axis (i mean distance between two images) in 3d model

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      The Y distance shifting per frame (dY) is according to the camera frame rate (FPS) and moving speed (V), so the relationship is dY = V / FPS. Generally, FPS is a constant value for every camera, if you have a constant speed V, you can get a constant dY. Otherwise, if you do not have constant speed, but you want a constant dY indeed, you must install an electric synchronization signal from the moton stage to the camera to make variable FPS, that's an another story. (Just like this th-cam.com/video/VefmQnHRQg0/w-d-xo.html )

  • @mirankabek9424
    @mirankabek9424 ปีที่แล้ว

    what camera do you use ?

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      USB camera

    • @mirankabek9424
      @mirankabek9424 ปีที่แล้ว

      @@MachineVisionEasonLin Thank you,
      Can you share with me details about this project , im currently forking on a similar apk.
      Thank you

    • @MachineVisionEasonLin
      @MachineVisionEasonLin  ปีที่แล้ว

      There are already details about this project shown on the video description, u can see Step1, Step2,...

    • @mirankabek9424
      @mirankabek9424 ปีที่แล้ว

      ​@@MachineVisionEasonLin OK, I was hoping that you will give me components that you use and some py. cod.... But i guess this is top secret..
      Thank you eneways

    • @smallcube-zn2mm
      @smallcube-zn2mm 14 วันที่ผ่านมา

      @@MachineVisionEasonLin are you from China?