{"id":254,"date":"2025-03-04T00:57:31","date_gmt":"2025-03-03T21:57:31","guid":{"rendered":"http:\/\/www.cuneytbayrak.com\/?p=254"},"modified":"2025-03-04T02:46:05","modified_gmt":"2025-03-03T23:46:05","slug":"yolov-bbox-degerlerini-goruntu-boyutuna-gore-yeniden-duzenlemek","status":"publish","type":"post","link":"http:\/\/www.cuneytbayrak.com\/?p=254","title":{"rendered":"Yolov Bbox De\u011ferlerini G\u00f6r\u00fcnt\u00fc Boyutuna G\u00f6re Yeniden D\u00fczenlemek"},"content":{"rendered":"<p>Yolov kullanarak Object Detection \u00e7al\u0131\u015fmalar\u0131 yapmak istiyoruz. Bbox konusu i\u015fin olmazlar\u0131ndan. Ne i\u015fe yarad\u0131\u011f\u0131na burada de\u011finmenin bir anlam\u0131 yok. \u0130nternette hakk\u0131nda bilgi bir haylice. Bu yaz\u0131n\u0131n konusu \u015fu asl\u0131nda; elimiz de w1*u1 piksel de\u011ferlerinde g\u00f6r\u00fcnt\u00fcler var ancak biz w2*u2 piksel de\u011ferlerine g\u00f6r\u00fcnt\u00fcy\u00fc resize etmek istiyoruz fakat g\u00f6r\u00fcnt\u00fclerin etiketleri yani bbox de\u011ferlerini yeni piksel de\u011ferlerine g\u00f6re nas\u0131l yeniden d\u00fczenleyebiliriz. Biraz matematik ile i\u015fi kolayca \u00e7\u00f6zebiliriz. Meselenin \u00f6z\u00fcn\u00fc anlad\u0131ktan sonra gerisi kolay.<\/p>\n<p>Yolov bbox format\u0131 olarak \u015funu kullan\u0131r; (C, x_center_normalized, y_center_normalized, width_normalized, height_normalized).<\/p>\n<p>C: Objenin s\u0131n\u0131f etiketi<\/p>\n<p>x_center_normalized: Objenin x ekseninde merkez noktas\u0131 normalize de\u011feri<\/p>\n<p>y_center_normalized: Objenin y ekseninde merkez noktas\u0131 normalize de\u011feri<\/p>\n<p>width_normalized: Objenin normalize geni\u015flik de\u011feri<\/p>\n<p>height_normalized: Objenin normalize y\u00fckseklik de\u011feri<\/p>\n<p>A\u015fa\u011f\u0131da, bir g\u00f6r\u00fcnt\u00fcde ki bbox kutusunun ne oldu\u011fu ve ilgili de\u011ferlerin neler olduklar\u0131n\u0131 g\u00f6rsel \u00fczerinden anlatmaya \u00e7al\u0131\u015ft\u0131m.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-scaled.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-255\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-300x240.jpg\" alt=\"\" width=\"562\" height=\"450\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-300x240.jpg 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-1024x821.jpg 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-768x615.jpg 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-1536x1231.jpg 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/Yolov_bbox-2048x1641.jpg 2048w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/a><\/p>\n<p>G\u00f6r\u00fcnt\u00fcler sol \u00fcst k\u00f6\u015feden ba\u015flar piksel de\u011ferlerini almaya. Yani sol \u00fcst k\u00f6\u015fe koordinat eksenimizin (0, 0) noktas\u0131d\u0131r. Sa\u011f alt k\u00f6\u015fe ise g\u00f6r\u00fcnt\u00fcm\u00fcz\u00fcn s\u0131n\u0131r piksel de\u011ferleridir. Bir g\u00f6r\u00fcnt\u00fc 930*930 piksel ise x ekseninde 930 piksel ve y ekseninde 930 piksel var demektir. G\u00f6r\u00fcnt\u00fcn\u00fcn i\u00e7inde bir yerde yukar\u0131da oldu\u011fu gibi ku\u015f objesini tespit etmeye \u00e7al\u0131\u015fan bir model geli\u015ftiriyor oldu\u011fumuzu d\u00fc\u015f\u00fcnelim. Yolov \u00e7al\u0131\u015fma mant\u0131\u011f\u0131na g\u00f6re tespit etmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z nesnenin etraf\u0131na onu kapsayacak bir s\u0131n\u0131rlay\u0131c\u0131 kutu (bbox) \u00e7izmemiz gerekir. Yani tespit etmek istedi\u011fin nesne g\u00f6r\u00fcnt\u00fcn\u00fcn neresinde. Bir nevi koordinat bilgisi vermemiz icap ediyor. Yukar\u0131da ki \u015fekilde a\u00e7\u0131k\u00e7a g\u00f6z\u00fckt\u00fc\u011f\u00fc gibi nesnemiz, bir k\u00f6\u015fesi (x1,y1), di\u011fer k\u00f6\u015fesi (x2,y2) olan bir d\u00f6rtgen i\u00e7erisinde bulunmakta. E\u011fer ben x1, y1, x2 ve y2 de\u011ferlerini bilir isem Yolov&#8217;un benden istedi\u011fi formata uygun de\u011ferleri kolayl\u0131kla hesaplayabilirim.<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-259 \" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center-300x75.png\" alt=\"\" width=\"168\" height=\"42\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center-300x75.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center-768x192.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center.png 965w\" sizes=\"auto, (max-width: 168px) 100vw, 168px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-260\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center-300x75.png\" alt=\"\" width=\"168\" height=\"42\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center-300x75.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center-768x192.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center.png 965w\" sizes=\"auto, (max-width: 168px) 100vw, 168px\" \/><\/a><\/p>\n<p>Bbox&#8217;\u0131n merkez noktas\u0131n\u0131n koordinatlar\u0131 pek tabii yukar\u0131da ki gibi hesaplanabilir. Ayr\u0131ca bbox&#8217;\u0131n geni\u015flik ve y\u00fckseklik de\u011ferleri de a\u015fa\u011f\u0131da ki gibi hesaplanabilir.<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-262\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width-300x42.png\" alt=\"\" width=\"168\" height=\"24\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width-300x42.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width-768x108.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width.png 965w\" sizes=\"auto, (max-width: 168px) 100vw, 168px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-261\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height-300x43.png\" alt=\"\" width=\"168\" height=\"24\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height-300x43.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height-768x109.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height.png 965w\" sizes=\"auto, (max-width: 168px) 100vw, 168px\" \/><\/a> \u00a0Fakat Yolov bizden bu de\u011ferlerin normalize edilmi\u015f hallerini istemekte. Nas\u0131l normalize edece\u011fiz! Pek tabiki x ekseninde ki de\u011ferlerimizi w_img&#8217;ye, y eksenin de ki de\u011ferlerimizi de h_img&#8217;ye b\u00f6lerek. Ayn\u0131 \u015fekilde width ve height de\u011ferlerini de s\u0131ra ile w_img ve h_img&#8217; ye b\u00f6lmemiz gerekecek. Bu durumda denklemlerimizi \u015fu \u015fekilde yazmam\u0131z gerekecek.<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-263\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized-1024x97.png\" alt=\"\" width=\"582\" height=\"55\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized-1024x97.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized-300x28.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized-768x73.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized-1536x145.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized-2048x194.png 2048w\" sizes=\"auto, (max-width: 582px) 100vw, 582px\" \/><\/a><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-264\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized-300x29.png\" alt=\"\" width=\"566\" height=\"55\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized-300x29.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized-1024x99.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized-768x75.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized-1536x149.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized-2048x199.png 2048w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/a>\u015eimdi bir \u00f6rnek yapal\u0131m. G\u00f6r\u00fcnt\u00fcm\u00fcz a\u015fa\u011f\u0131daki gibi 930*930 piksel bir g\u00f6r\u00fcnt\u00fc olmu\u015f olsun. G\u00f6r\u00fcnt\u00fc i\u00e7inde bir gemimiz olsun ve biz o gemiyi tespit etmek istemi\u015f olal\u0131m.<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/126__1840_0.bmp\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-266\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/126__1840_0.bmp\" alt=\"\" width=\"450\" height=\"450\" \/><\/a>Yapmam\u0131z gereken bu geminin etraf\u0131n\u0131 s\u0131n\u0131rlayacak bir d\u00f6rtgen \u00e7izmek olacak ve bizde a\u015fa\u011f\u0131da ki gibi bir bbox \u00e7izmi\u015f olal\u0131m.<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/0a50e22e5_marked2_1.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-267\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/0a50e22e5_marked2_1-300x300.jpg\" alt=\"\" width=\"450\" height=\"450\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/0a50e22e5_marked2_1-300x300.jpg 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/0a50e22e5_marked2_1-150x150.jpg 150w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/0a50e22e5_marked2_1-768x768.jpg 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/0a50e22e5_marked2_1.jpg 930w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a>x1= 485\u00a0 \u00a0y1= 140\u00a0 \u00a0x2= 576\u00a0 \u00a0y2= 415\u00a0 \u00a0w_img= 930\u00a0 \u00a0 h_img= 930 (bu de\u011ferleri normalde programlar\u0131n kendisi hesap ediyor)<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-269 size-medium\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c-300x34.png\" alt=\"\" width=\"300\" height=\"34\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c-300x34.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c-1024x115.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c-768x86.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c-1536x172.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/x_center_normalized_c-2048x229.png 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-271 size-medium\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c-300x34.png\" alt=\"\" width=\"300\" height=\"34\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c-300x34.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c-1024x115.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c-768x86.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c-1536x172.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/y_center_normalized_c-2048x229.png 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-272 size-medium\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c-300x54.png\" alt=\"\" width=\"300\" height=\"54\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c-300x54.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c-1024x185.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c-768x139.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c-1536x277.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/width_normalized_c.png 2021w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-273 size-medium\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c-300x37.png\" alt=\"\" width=\"300\" height=\"37\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c-300x37.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c-1024x125.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c-768x94.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c-1536x188.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/height_normalized_c-2048x251.png 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Bu durumda Yolov format\u0131nda bbox de\u011ferlerimiz \u015fu \u015fekilde olmu\u015f oldu;<\/p>\n<p style=\"text-align: center;\">0 0.57043 0.298387 0.097849 0.295699<\/p>\n<p>Ba\u015fta ki &#8220;0&#8221; de\u011feri gemiye vermi\u015f oldu\u011fumuz s\u0131n\u0131f etiketi idi. Yolov model e\u011fitimi esnas\u0131nda bu de\u011ferleri okuyup \u00e7\u00f6z\u00fcmleyerek g\u00f6r\u00fcnt\u00fc i\u00e7erisinde ki nesnenin nerede oldu\u011fu hakk\u0131nda bilgi sahibi oluyor.<\/p>\n<p>Peki buraya kadar bir bbox&#8217; \u0131n matematik arka plan\u0131n\u0131 anlamaya \u00e7al\u0131\u015ft\u0131k, fakat diyelim ki g\u00f6r\u00fcnt\u00fcm\u00fcz\u00fc 768*768 piksel de\u011ferine resize etmek istedi\u011fimiz de yeni bbox de\u011ferlerini eski bbox de\u011ferlerinden nas\u0131l t\u00fcretebiliriz. Yaz\u0131m\u0131z\u0131n konusu buydu hat\u0131rlarsan\u0131z. Zann\u0131mca konuyu buraya kadar anlad\u0131 isek gerisini yapmak \u00e7ok kolay olacakt\u0131r. \u0130\u015flemleri tersine alarak elde edece\u011fimiz koordinat de\u011ferlerini scale ederek yeniden bbox de\u011ferlerini hesaplamam\u0131z gerekecek.<\/p>\n<p>Bu defa elimizde (0 0.57043 0.298387 0.097849 0.295699) de\u011ferleri var. Yapmam\u0131z gereken a\u015fa\u011f\u0131da ki form\u00fclleri kullanmak. (form\u00fcllerin nas\u0131l t\u00fcretildi\u011fine de\u011finmeyece\u011fim, matematik i\u015flemleri tersine \u00e7evirdi\u011fimizi d\u00fc\u015f\u00fcn\u00fcn)<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-275 \" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value-300x141.png\" alt=\"\" width=\"447\" height=\"210\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value-300x141.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value-1024x480.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value-768x360.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value-1536x721.png 1536w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/new_bbox_value-2048x961.png 2048w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><\/a>Bu denklem yard\u0131m\u0131 ile g\u00f6r\u00fcnt\u00fcm\u00fczde ki bbox&#8217;\u0131n k\u00f6\u015fe koordinat de\u011ferlerini elde etmi\u015f olduk. Bundan sonra yap\u0131lmas\u0131 gereken, g\u00f6r\u00fcnt\u00fcy\u00fc hangi oranda resize etti isek ayn\u0131 oranda bu de\u011ferleri de bir nevi resize etmek.<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/oran.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-276\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/oran-300x214.png\" alt=\"\" width=\"233\" height=\"166\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/oran-300x214.png 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/oran-1024x730.png 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/oran-768x548.png 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/03\/oran.png 1217w\" sizes=\"auto, (max-width: 233px) 100vw, 233px\" \/><\/a>Bundan sonras\u0131 art\u0131k en ba\u015ftan anlatt\u0131\u011f\u0131m \u015fekilde ilerleyecek. Biz yeni x1, x2, y1 ve y2 de\u011ferlerini elde etmi\u015f olduk ve yeni g\u00f6r\u00fcnt\u00fcn\u00fcn piksel de\u011ferini de biliyoruz. \u0130lk ba\u015fta ki form\u00fclleri kullanarak yeni bbox de\u011ferlerini elde edebiliriz art\u0131k.<\/p>\n<p>Bu i\u015flemleri bizim i\u00e7in yapabilen bir Python beti\u011fini buraya ekliyorum.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;python&quot;,&quot;mime&quot;:&quot;text\/x-python&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">import cv2\r\nimport os\r\n\r\n# Dosya yollar\u0131\r\nimage_folder = r'E:\\veri setleri\\Optical Satellite Datasets\\ShipRSImageNet_V1\\Yolov_Format\\images_930'\r\nlabel_folder = r'E:\\veri setleri\\Optical Satellite Datasets\\ShipRSImageNet_V1\\Yolov_Format\\labels_930'\r\noutput_image_folder = r'E:\\veri setleri\\Optical Satellite Datasets\\ShipRSImageNet_V1\\Yolov_Format\\images_768'\r\noutput_label_folder = r'E:\\veri setleri\\Optical Satellite Datasets\\ShipRSImageNet_V1\\Yolov_Format\\labels_768'\r\n\r\n# Eski ve yeni boyutlar\r\nold_size = 930\r\nnew_size = 768\r\nscale = new_size \/ old_size\r\n\r\n# \u00c7\u0131kt\u0131 klas\u00f6rlerini olu\u015ftur\r\nos.makedirs(output_image_folder, exist_ok=True)\r\nos.makedirs(output_label_folder, exist_ok=True)\r\n\r\n# G\u00f6r\u00fcnt\u00fc ve label dosyalar\u0131n\u0131 i\u015fleme\r\nfor image_name in os.listdir(image_folder):\r\n    # G\u00f6r\u00fcnt\u00fc dosyas\u0131n\u0131 oku\r\n    image_path = os.path.join(image_folder, image_name)\r\n    image = cv2.imread(image_path)\r\n    \r\n    # G\u00f6r\u00fcnt\u00fcy\u00fc bicubic interpolasyonu ile yeniden boyutland\u0131r\r\n    resized_image = cv2.resize(image, (new_size, new_size), interpolation=cv2.INTER_CUBIC)\r\n    resized_image_path = os.path.join(output_image_folder, image_name)\r\n    cv2.imwrite(resized_image_path, resized_image)\r\n\r\n    # Label dosyas\u0131n\u0131 oku\r\n    label_name = image_name.replace('.bmp', '.txt')\r\n    label_path = os.path.join(label_folder, label_name)\r\n\r\n    if os.path.exists(label_path):\r\n        with open(label_path, 'r') as f:\r\n            lines = f.readlines()\r\n\r\n        updated_lines = []\r\n        for line in lines:\r\n            parts = line.strip().split()\r\n            label = parts[0]\r\n            x_center = float(parts[1])\r\n            y_center = float(parts[2])\r\n            width = float(parts[3])\r\n            height = float(parts[4])\r\n            \r\n            # x1, y1, x2, y2 hesapla\r\n            x1 = (x_center - width \/ 2) * old_size\r\n            y1 = (y_center - height \/ 2) * old_size\r\n            x2 = (x_center + width \/ 2) * old_size\r\n            y2 = (y_center + height \/ 2) * old_size\r\n            \r\n            # Yeni x1, y1, x2, y2 de\u011ferlerini \u00f6l\u00e7ekle\r\n            x1_new = x1 * scale\r\n            y1_new = y1 * scale\r\n            x2_new = x2 * scale\r\n            y2_new = y2 * scale\r\n            \r\n            # Yeni bbox de\u011ferlerini normalize et\r\n            x_center_new = ((x1_new + x2_new) \/ 2) \/ new_size\r\n            y_center_new = ((y1_new + y2_new) \/ 2) \/ new_size\r\n            width_new = (x2_new - x1_new) \/ new_size\r\n            height_new = (y2_new - y1_new) \/ new_size\r\n            \r\n            # G\u00fcncellenmi\u015f etiketi kaydet\r\n            updated_lines.append(f\"{label} {x_center_new:.6f} {y_center_new:.6f} {width_new:.6f} {height_new:.6f}\\n\")\r\n        \r\n        updated_label_path = os.path.join(output_label_folder, label_name)\r\n        with open(updated_label_path, 'w') as f:\r\n            f.writelines(updated_lines)\r\n\r\nprint(\"T\u00fcm g\u00f6r\u00fcnt\u00fcler ve etiketler ba\u015far\u0131yla g\u00fcncellendi!\")\r\n<\/pre>\n<\/div>\n<p>Kolay gele&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yolov kullanarak Object Detection \u00e7al\u0131\u015fmalar\u0131 yapmak istiyoruz. Bbox konusu i\u015fin olmazlar\u0131ndan. Ne i\u015fe yarad\u0131\u011f\u0131na burada de\u011finmenin bir anlam\u0131 yok. \u0130nternette hakk\u0131nda bilgi bir haylice. Bu yaz\u0131n\u0131n konusu \u015fu asl\u0131nda; elimiz&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"http:\/\/www.cuneytbayrak.com\/?p=254\">Devam\u0131n\u0131 Oku<span class=\"screen-reader-text\">Yolov Bbox De\u011ferlerini G\u00f6r\u00fcnt\u00fc Boyutuna G\u00f6re Yeniden D\u00fczenlemek<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":46,"footnotes":""},"categories":[8],"tags":[82,81],"class_list":["post-254","post","type-post","status-publish","format-standard","hentry","category-sayisal-goruntu-isleme","tag-bbox","tag-yolov","excerpt"],"_links":{"self":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=254"}],"version-history":[{"count":8,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions"}],"predecessor-version":[{"id":278,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions\/278"}],"wp:attachment":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}