- 28 Tem 2009
- 17
- 0
OpenCV - Java matchTemplate(İlgili Sorun)[YANLIŞ BÖLÜM - KAPATILDI]
Merhaba arkadaşlar hem site'de yeniyim hem OpenCV'de zaten askerden de yeni geldim ama kodlamayı bırakamıyorum. Bu kadar herşey sıfırken OpenCV'ye Java'da başlama kararı aldım belki bana en yakın gelen buydu C#'da kodlama çalışıyordum askerden önce zamanla soğumaya başladım sonra askere gittim. Gibi gibi çok başınızı şişirmek istemiyorum. Sorunum şu yardımcı olursanız sevinirim. Çok güzel planlarım var inşallah iyi bir şekilde algoritmasını öğrenirim
Kodlarım şunlar;
Hata da şu şekilde;
Kodlamada şu kısmı
Şu şekilde değiştiremiyorum hata veriyor;
Bunun hatası;
Şimdiden teşekkür ederim. Herşey sıfırdan başlama kararıyla başladı herşey. bakalım nereye gidecek
Merhaba arkadaşlar hem site'de yeniyim hem OpenCV'de zaten askerden de yeni geldim ama kodlamayı bırakamıyorum. Bu kadar herşey sıfırken OpenCV'ye Java'da başlama kararı aldım belki bana en yakın gelen buydu C#'da kodlama çalışıyordum askerden önce zamanla soğumaya başladım sonra askere gittim. Gibi gibi çok başınızı şişirmek istemiyorum. Sorunum şu yardımcı olursanız sevinirim. Çok güzel planlarım var inşallah iyi bir şekilde algoritmasını öğrenirim
Kodlarım şunlar;
Kod:
package Samet;
import org.opencv.core.Core;
import org.opencv.core.Core.MinMaxLocResult;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class TemplateMatching {
public static **** main(String[] args) {
System.load("D:\\NesneTakip\\Nesne\\bin\\opencv_java310.dll");
Mat source=null;
Mat template=null;
String filePath="C:/Users/Samet/Desktop/nesne/";
source=Imgcodecs.imread(filePath+"aile.jpg");
template=Imgcodecs.imread(filePath+"yüz.jpg");
Mat resim=new Mat();
Imgproc.matchTemplate(source, template, resim, Imgproc.TM_CCOEFF);
MinMaxLocResult mmr = Core.minMaxLoc(resim);
Point matchLoc=mmr.maxLoc;
Imgproc.rectangle(source, matchLoc, new Point(matchLoc.x + template.cols(),
matchLoc.y + template.rows()), new Scalar(255, 255, 255));
Imgcodecs.imwrite(filePath+"sonuc.jpg", source);
System.out.println("İşlem tamamlandı.");
}
}
Hata da şu şekilde;
Kod:
OpenCV Error: Assertion failed ((depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2) in cv::matchTemplate, file C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\imgproc\src\templmatch.cpp, line 1062
Exception in thread "main" CvException [org.opencv.core.CvException: cv::Exception: C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\imgproc\src\templmatch.cpp:1062: error: (-215) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function cv::matchTemplate
]
at org.opencv.imgproc.Imgproc.matchTemplate_1(Native Method)
at org.opencv.imgproc.Imgproc.matchTemplate(Imgproc.java:2398)
at Samet.TemplateMatching.main(TemplateMatching.java:24)
Kodlamada şu kısmı
Kod:
System.load("D:\\NesneTakip\\Nesne\\bin\\opencv_java310.dll");
Şu şekilde değiştiremiyorum hata veriyor;
Kod:
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Bunun hatası;
Kod:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at Samet.TemplateMatching.main(TemplateMatching.java:15)
Şimdiden teşekkür ederim. Herşey sıfırdan başlama kararıyla başladı herşey. bakalım nereye gidecek
Son düzenleme: