Saya ingin membuat program pelabelan gambar dengan opencv c++ untuk memberi label gambar untuk detektor objek yolo, tetapi saya kesulitan dalam mengonversi koordinat persegi panjang (x1,y1,x2,y2) ke format yolo yang merupakan tinggi lebar x_center y_center kelas objek. Dan menurut dokumentasi x_center dan y_center adalah pusat persegi panjang (bukan pojok kiri atas).
Saya mencoba kode ini pada gambar yang sudah diberi label
double centerX = (x1 + x2) / (2.0 * imageWidth);
double centerY = (y1 + y2) / (2.0 * imageHeight);
double width = double(abs(x2 - x1) / imageWidth);
double height = double(abs(y2- y1) / imageHeight);
dan dapatkan 0 0.396759 0.278906 0.0109375 0.326852
yang berbeda dari 0 0.40703125 0.5194444444444445 0.25364583333333335 0.5851851851851851
. Bagaimana saya bisa membuatnya berfungsi?