Bildirim
C programlama Dilinde Görüntü işleme yardım
Daha Fazla
Bu Konudaki Kullanıcılar:
Daha Az
2 Misafir - 2 Masaüstü
Giriş
Mesaj
-
-
Anlamadığınızı hocanıza sormaktan çekinmeyin. Hoca bunun için para alıyor. Sevabına girmiyor dersinize. -
abi gittim kaç kere kodları verdim kodları anlamaya çalış dedi. kodlardanda bişey çıkartamadım bakıyorum filename tanımlanmış fakat en sonda filename i çağırıyoruz çok saçma geldi işin içinden çıkamadım -
hocanin verdigi kodlari kullanmak zorunda misin?
opencv ile soyle bir sey yaptim belki isini gorur#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
int main(int argc, char** argv) {
cv::Mat src = cv::imread("D:/2p.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if(!src.data){
return -1;
}
cv::imshow("dosyadan aldigimiz image", src);
cv::Mat greyscale;
int hSize = 256;
float range[] = {0, 255};
const float *hRange = {range};
cv::calcHist(&src, 1, 0, cv::Mat(), greyscale, 1 ,&hSize, &hRange, true, false);
cv::Mat dst = cv::Mat::zeros(256, 256, CV_8UC3);
cv::normalize(greyscale, greyscale, 0, greyscale.rows, cv::NORM_MINMAX, -1, cv::Mat());
for(int i = 1; i < hSize; ++i){
cv::Point p1(i-1, dst.rows - cvRound(greyscale.at<float>(i-1))*dst.rows/hSize);
cv::Point p2(i, dst.rows);
cv::line(dst, p1, p2, cv::Scalar(0, 255, 0), 2, 8, 0);
}
cv::imshow("graphic", dst);
cv::waitKey(0);
return 0;
}
< Bu mesaj bu kişi tarafından değiştirildi blackwar19 -- 4 Ağustos 2017; 12:40:41 >
-
hocam tanımladığın kütüphaneleri nasıl tanımlıcan grafik falan çıkarmışsın nasıl yaptın. -
quote:
Orijinalden alıntı: Mertt007
hocam tanımladığın kütüphaneleri nasıl tanımlıcan grafik falan çıkarmışsın nasıl yaptın.
opencv kurulumu icin video
https://www.youtube.com/watch?v=l4372qtZ4dc
resmi aldiktan sonra calcHis fonksiyonu ile histogramini hesapliyorum. Elde ettigimiz ciktinin for dongusu icindeki line fonksiyonu ile grafigini cikartiyorum. eve gecince koda yorumlari eklerim
cok genel sekilde yazmaya calistim#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
int main(int argc, char** argv) {
//resmi siyah-beyaz sekilde dosyadan aliyoruz
cv::Mat src = cv::imread("D:/2p.jpg", CV_LOAD_IMAGE_GRAYSCALE);
//acip acamadigimiza bakiyoruz
if(!src.data){
return -1;
}
//okudugumuz resmi gosteriyoruz
cv::imshow("dosyadan aldigimiz image", src);
//histogram hesaplamda kullanilacak yeni bir resim containeri olusturuyoruz
cv::Mat greyscale;
//grafik icin rangeler
int hSize = 256;
float range[] = {0, 255};
const float *hRange = {range};
//greyscale objesine yukledigkmiz resmindeki yogun ve seyrek yerleri yazacak
cv::calcHist(&src, 1, 0, cv::Mat(), greyscale, 1 ,&hSize, &hRange, true, false);
//grafigin gosterilecegi resim. 256*256 boyutunda siyah bir resim.
cv::Mat dst = cv::Mat::zeros(256, 256, CV_8UC3);
//rangeleri ayarlamak icin
cv::normalize(greyscale, greyscale, 0, greyscale.rows, cv::NORM_MINMAX, -1, cv::Mat());
//grafigin dst resmine cizildigi kisim
for(int i = 1; i < hSize; ++i){
cv::Point p1(i-1, dst.rows - cvRound(greyscale.at<float>(i-1))*dst.rows/hSize);
cv::Point p2(i, dst.rows);
cv::line(dst, p1, p2, cv::Scalar(0, 255, 0), 2, 8, 0);
}
//grafigi ekrana basiyoruz
cv::imshow("graphic", dst);
//bir tus girilene kadar ekranda kalacak
cv::waitKey(0);
return 0;
}
< Bu mesaj bu kişi tarafından değiştirildi blackwar19 -- 4 Ağustos 2017; 17:4:9 >
-
pmden yazdım eve gidince musait olursaniz bir yazarmısnız sormak istediğim şeyler var. -
Tesekkur ederim. Bi kac bisey daha sormaj istiyorum grafigi cizerken elde ettigi degerleri ekrana yada baska bi yere yazma sansimiz var mi ?
< Bu ileti mobil sürüm kullanılarak atıldı >
Sayfa:
1
Ip işlemleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X