2012-07-11 17 views
5

Bu kod satırı ne anlama geliyor ve bu kodu javacv'ye nasıl dönüştürebilirim?Opencv'de aşağıdaki kod satırının anlamı nedir?

gray = Scalar::all(255); 

Bu kod satırıyla ilgili kodun tamamı budur.

Mat src = imread("in.jpg"), gray; 

cvtColor(src, gray, CV_BGR2GRAY); 
threshold(gray, gray, 230, 255, THRESH_BINARY_INV); 
vector<Vec4i> hierarchy; 
vector<vector<Point> > contours; 
findContours(gray, contours, hierarchy, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE); 

gray = Scalar::all(255); 

Lütfen bunlardan bazılarını açıklayabilir misiniz?

+0

: mWhilte = Scalar.all(255);

Ayrıca JavaCV örneklerini kontrol? –

+0

Görüntüde Kontürleri bulmak için kullanılır ve bundan sonra da bazı kodlar vardır – NadLnk

+2

Bu çizginin beyazı griye dönüştürdüğünü düşünüyorum. Eğer cpp kodunu çalıştırabilirseniz, çalıştırın ve sonunda gri görünecektir. –

cevap

2

dönüştürerek sorun olmamalıdır yüzden benim yorumunda belirtildiği gibi

Mat::setTo() yöntem ayrıca, JavaCV kullanılabilir olmalıdır, beyaz gri görüntü ayarlamak için kullanılır.

Yararları nedir? Sadece bu kodun ne olduğunu veya tam kodu görebildiğimizi biliyorsak söylenebilir.

Java ile ilgili olarak, OpenCV, Java kodlarını bulabileceğiniz bazı android örneklerine sahiptir.

Bunları kontrol edebilirsiniz. I saw a similar function there: yaklaşık bu kodu ne http://code.google.com/p/javacv/wiki/OpenCV2_Cookbook_Examples_Chapter_2

2

Vurgulanan kod satırı griyi 255 olarak ayarlar. Bir matrisi bir değere ayarlamak için OpenCV'de geçerli olan yöntemlerden biridir.

gray.setTo(255); // prior to 2.3.1 it was a buggy on multichannel images 
gray = 255; // prior to 2.3.1 it was a buggy on multichannel images 

gray.setTo(Scalar::all(255)); // it works regardless the OpenCV version. 

Ama soru findfContours sonra bu kaynak hattı ...

Docs göre findContours o üzerinde çalıştığı imajını değiştirir neden olduğunu düşünüyorum: bunu yapmak için

diğer yolları vardır (Bir kontur çıkarır, algılar, daha sonra başka bir kontura geçene kadar bir sonrakine ilerler). Sonuç bir çöp imgesi (muhtemelen siyah).

Böylece, 255 hattı, başka bir kullanım için temizler. Eğer Java

+0

0 mı, 255 mi? –

+0

Bunun için basit bir kod örneği verebilir misiniz? – NadLnk