2017년 3월 2일 목요일

OpenCV Lecture 4-7, noise generation

1. Contents
  • noise generation
    • randn
      • noise add using normal distribution
      • 노이즈 정규 분포를 이미지에 합산하기
    • randu
      • noise add using min~max random value generation
      • min, max값의 랜덤값을 이미지에 합산하기
    • iteration
      • noise add by conventional interation method
      • 반복문을 이용해서 전통적인 방법으로 노이즈 넣기
    • minMaxIdx and threshold
      • more efficient method using minMaxIdx and Threshold function
      • 반복문 보다 개선 된 방법 소개

    2. PPT
    •  

    3. Video


        4. Reference

        • 😋 없음


        5. source code
         노이즈 발생 코드 (randn, randu, iteration, minMax 4가지 모두 실습)
        • < gist >  < /gist>
        • 결과









        #Tags for search
        randn, randu, srand, rand, cvtColor, minMaxIdx, threshold,

        댓글 2개:

        1. 안녕하세요, 좋은 강의 잘 봤습니다.

          올려주신 코드 중에서 수정이 필요한 부분이 있어서 코멘트를 남깁니다.
          31~36 사이의 코드를 보면 영상에 가우시안 잡음을 추가하는 것으로 보이는데요, 이렇게 코드를 작성하면 영상의 전체 밝기가 증가하기때문에 의도한 형태의 결과가 생성되지 않을 수 있습니다.

          가우시안 잡음을 생성하려면 22번 라인처럼 부호가 있는 타입을 사용해야 합니다. (특히 평균이 0이라면요.) 22번 라인은 부호 있는 형태로 잡음을 생성하셨다가 왜 32번 라인에서는 부호 없는 형태로 가우시안 잡음을 생성하셨나요?

          부호 있는 타입으로 가우시안 잡음을 생성하고 원본 영상에 잡음을 더해주려면 operator+ 연산자를 사용하면 안되고, 다음과 같은 형태로 add 함수를 사용하시면 됩니다.

          Mat noise(img.size(), CV_32S);
          randn(noise, 0, 10);
          Mat dst;
          add(img, noise, dst, noArray(), CV_8U);

          답글삭제

        OpenCV Build shared, OpenCV 빌드한 것 공유

        OpenCV 3.1 64bit build (github master downed on 2017-01-31) 64bit for window opencv contribute module 포함 cuda 8.0 tbb 2016-11-28 ( sha...