SORU
18 EKİM 2009, Pazar


OpenCV Siyah & Beyaz, RGB dönüştürmek

Siyah-beyaz (ikili) bir RGB Görüntü içine görüntü dönüştürmek için nasıl bilmek istiyorum.

Dönüşüm sonra, nasıl diske değiştirilmiş görüntü kaydedebilirsiniz?

CEVAP
18 EKİM 2009, Pazar


AFAIK, gri tonlama dönüştürmek ve ikili için eşik.

1. Gri tonlamalı bir görüntü olarak okuyun Eğer diskten RGB Görüntü okuyorsanız, o zaman doğrudan böyle bir gri tonlamalı görüntü olarak okuyabilirsiniz:

// C
IplImage* im_gray = cvLoadImage("image.jpg",CV_LOAD_IMAGE_GRAYSCALE);

// C   (OpenCV 2.0)
Mat im_gray = imread("image.jpg",CV_LOAD_IMAGE_GRAYSCALE);

2. Gri tonlamalı bir görüntüde 5* *bir RGB Görüntü dönüştürmekYoksa gri bir görüntü halinde daha önce elde edilen RGB görüntüsü dönüştürmek gerekecek

// C
IplImage *im_rgb  = cvLoadImage("image.jpg");
IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1);
cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY);

// C  
Mat im_rgb  = imread("image.jpg");
Mat im_gray;
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

3. İkiliye dönüştürür adaptive thresholding fixed-level thresholding ikili görüntü için gri tonlamalı görüntü dönüştürmek için kullanabilirsiniz.

E. g. C aşağıdaki (aynı zamanda Mat ve ilgili fonksiyonlar ile C aynı şeyi yapabilirsiniz) yapabilirsiniz:

// C
IplImage* im_bw = cvCreateImage(cvGetSize(im_gray),IPL_DEPTH_8U,1);
cvThreshold(im_gray, im_bw, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);

// C  
Mat img_bw = im_gray > 128;

, 128 yukarıdaki örnekte eşik.

4. Diske kaydet

// C
cvSaveImage("image_bw.jpg",img_bw);

// C  
imwrite("image_bw.jpg", img_bw);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011