提交 8b7c5d20 编写于 作者: _白鹭先生_'s avatar _白鹭先生_

poly2rbox

上级 a7c29abb
因为 它太大了无法显示 source diff 。你可以改为 查看blob
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000003.jpg 103,217,87,25,79,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000017.jpg 107,232,14,54,83,0 388,118,11,56,87,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000047.jpg 150,162,65,18,66,0 304,227,9,18,28,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000050.jpg 59,153,29,10,66,0 265,87,30,10,83,0 168,273,26,10,69,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000052.jpg 170,136,88,22,72,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000055.jpg 206,146,124,31,5,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000060.jpg 158,75,49,16,90,0 212,247,47,21,85,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000061.jpg 94,96,14,39,17,0 366,118,16,50,0,0 38,200,30,12,75,0 421,291,49,24,86,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000065.jpg 217,58,26,75,13,0 106,272,73,30,90,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000075.jpg 188,149,85,22,78,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000079.jpg 156,65,44,14,67,0 331,273,45,15,68,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000102.jpg 198,164,25,103,70,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000104.jpg 227,227,18,101,68,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000111.jpg 55,132,26,10,74,0 231,72,31,11,81,0 149,236,24,12,80,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000120.jpg 162,138,48,13,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000122.jpg 111,146,68,17,85,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000130.jpg 269,164,30,91,1,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000148.jpg 234,229,9,32,0,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000171.jpg 42,52,21,10,80,0 184,206,22,9,82,0 346,140,31,7,78,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000177.jpg 58,48,38,8,85,0 257,29,25,9,84,0 400,181,29,9,82,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000180.jpg 52,174,49,12,74,0 158,58,31,9,85,0 281,220,44,10,67,0 400,83,24,9,77,0 127,196,50,7,78,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000202.jpg 211,125,33,10,4,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000228.jpg 170,280,84,19,7,0 420,306,31,16,8,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000239.jpg 258,99,32,140,25,0 165,272,31,177,30,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000248.jpg 76,157,26,12,84,0 47,214,14,6,81,0 211,170,25,8,85,0 239,257,28,11,82,0 366,71,13,34,42,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000251.jpg 174,103,15,50,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000264.jpg 289,56,12,29,0,0 260,112,6,14,0,0 246,207,8,19,0,0 424,68,25,10,86,0 451,155,27,12,81,0 24,17,8,24,66,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000276.jpg 58,118,157,31,79,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000277.jpg 165,48,42,15,79,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000279.jpg 199,217,46,15,76,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000280.jpg 129,265,54,15,85,0 439,111,45,15,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000297.jpg 41,34,27,12,78,0 73,134,33,14,85,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000300.jpg 143,61,17,43,55,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000310.jpg 462,251,104,21,75,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000315.jpg 121,39,49,17,79,0 449,393,52,16,80,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000323.jpg 139,149,48,16,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000326.jpg 87,245,69,17,82,0 446,63,57,19,80,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000335.jpg 248,12,47,15,8,0 424,73,19,9,8,0 406,156,13,53,68,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000360.jpg 272,75,31,10,75,0 240,298,43,14,79,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000372.jpg 47,43,53,12,74,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000390.jpg 104,71,20,69,0,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000394.jpg 84,181,14,49,66,0 105,98,14,10,0,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000395.jpg 292,95,48,13,3,0 448,239,13,48,64,0 468,156,9,12,83,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000411.jpg 108,118,134,49,87,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000433.jpg 93,114,102,32,78,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000434.jpg 250,182,197,32,75,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000440.jpg 61,159,151,38,71,0 399,224,216,30,78,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000452.jpg 84,146,89,30,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000457.jpg 157,283,24,62,44,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000482.jpg 103,127,106,33,84,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000513.jpg 432,190,96,12,72,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000515.jpg 71,229,92,13,71,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000532.jpg 64,75,25,68,1,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000540.jpg 334,203,51,137,1,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000553.jpg 429,222,19,58,11,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000561.jpg 290,201,36,112,8,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000571.jpg 261,194,139,49,89,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000572.jpg 109,155,50,140,1,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000594.jpg 283,143,122,25,6,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000609.jpg 203,182,25,100,83,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000613.jpg 339,132,25,97,84,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000618.jpg 229,165,26,102,83,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000649.jpg 153,304,8,21,50,0 153,49,29,6,69,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000656.jpg 95,139,33,7,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000662.jpg 40,81,59,8,70,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000671.jpg 445,220,15,41,50,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000672.jpg 213,288,47,12,69,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000675.jpg 411,269,39,11,68,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000700.jpg 287,140,22,57,4,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000719.jpg 459,246,20,55,10,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000745.jpg 185,166,155,28,12,0 45,140,69,18,16,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000749.jpg 125,153,104,19,11,0 119,170,106,19,17,0 114,188,106,20,19,0 320,200,229,29,11,0 353,230,153,20,11,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000752.jpg 144,87,140,40,56,0 245,252,210,59,65,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000753.jpg 183,148,28,113,81,0 376,291,13,41,78,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000770.jpg 320,179,30,13,56,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000795.jpg 202,65,12,29,0,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000838.jpg 352,124,55,31,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000855.jpg 250,177,77,12,83,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000917.jpg 351,117,13,65,3,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000918.jpg 350,162,68,25,36,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000922.jpg 398,136,40,17,53,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000927.jpg 259,141,25,51,53,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000932.jpg 225,127,85,29,47,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000941.jpg 336,132,22,56,0,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000946.jpg 245,159,62,23,32,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000951.jpg 432,142,10,31,86,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000954.jpg 184,260,19,53,71,0 226,88,31,20,68,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000966.jpg 125,119,9,34,8,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000967.jpg 391,165,8,34,7,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000971.jpg 201,67,12,25,52,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000993.jpg 112,176,83,38,45,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000996.jpg 147,180,47,24,46,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001019.jpg 198,120,12,39,46,0 143,217,38,13,0,0 49,142,29,12,18,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001022.jpg 255,226,26,13,45,0 447,139,22,47,77,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001044.jpg 310,116,16,32,86,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001054.jpg 305,115,7,21,90,0 420,233,5,21,85,0 329,269,6,19,78,0 217,210,6,14,82,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001058.jpg 196,62,24,7,0,0 311,180,5,21,90,0 221,217,6,20,90,0 108,157,5,15,90,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001074.jpg 155,132,9,16,81,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001078.jpg 172,92,42,20,63,0 153,161,12,22,0,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001099.jpg 64,163,12,28,0,0 163,55,9,20,0,0 142,200,12,28,0,0 193,142,10,20,0,0 242,127,17,9,80,0 303,135,10,17,0,0 344,76,20,11,69,0 269,234,15,33,59,0 273,258,14,26,35,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001102.jpg 57,24,7,18,5,0 34,171,26,13,90,0 87,114,10,20,0,0 135,98,18,12,90,0 162,205,17,34,53,0 166,228,16,28,50,0 196,107,9,17,0,0 237,47,19,10,63,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001128.jpg 69,77,27,11,15,0 86,164,32,9,15,0 214,82,42,11,22,0 202,221,29,10,18,0 326,158,29,10,16,0 392,82,28,11,21,0 426,156,26,11,15,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001133.jpg 261,76,41,13,3,0 156,170,22,10,9,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001145.jpg 62,76,23,8,0,0 397,121,18,7,12,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001158.jpg 104,31,25,7,28,0 36,72,19,7,14,0 34,127,16,7,8,0 87,157,16,6,7,0 226,141,8,19,73,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000003.jpg 83,177,107,172,124,258,99,263,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000017.jpg 79,228,134,222,135,236,81,242,0 359,114,415,111,416,123,360,125,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000047.jpg 129,136,146,129,172,188,155,196,0 296,234,305,217,313,221,304,238,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000050.jpg 48,141,58,137,70,164,60,168,0 258,72,269,71,272,101,261,103,0 158,262,168,259,178,284,168,287,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000052.jpg 145,98,167,91,194,175,172,182,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000055.jpg 143,156,146,125,270,137,267,168,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000060.jpg 150,51,166,51,166,100,150,100,0 200,224,221,222,225,270,204,272,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000061.jpg 81,113,93,75,106,80,94,118,0 358,143,358,93,374,93,374,143,0 28,187,40,184,47,214,35,216,0 408,267,432,265,435,315,410,316,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000065.jpg 196,92,214,19,239,25,221,98,0 91,236,121,236,121,309,91,309,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000075.jpg 169,109,190,105,207,189,186,194,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000079.jpg 141,48,155,42,172,83,158,89,0 315,255,330,249,346,291,332,297,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000102.jpg 145,169,243,135,251,159,154,193,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000104.jpg 177,237,271,199,278,216,184,254,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000111.jpg 47,121,57,118,64,144,54,147,0 223,57,234,55,238,87,227,89,0 141,225,154,223,158,247,145,249,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000120.jpg 150,116,163,113,173,160,160,163,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000122.jpg 99,113,117,111,122,180,105,181,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000130.jpg 252,209,255,117,286,118,283,210,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000148.jpg 230,245,230,213,239,213,239,245,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000171.jpg 35,43,45,41,49,62,39,64,0 178,196,187,195,190,217,181,218,0 339,125,347,124,353,155,346,156,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000177.jpg 53,29,61,28,64,66,56,67,0 252,17,261,16,263,41,254,42,0 393,167,403,165,407,195,397,196,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000180.jpg 39,151,51,148,64,196,52,200,0 152,43,161,42,163,73,154,74,0 267,201,277,197,294,239,284,243,0 393,72,402,70,408,94,398,97,0 118,172,126,171,136,220,128,221,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000202.jpg 194,128,195,118,228,121,227,131,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000228.jpg 126,284,129,265,213,277,210,296,0 404,311,406,295,437,300,434,316,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000239.jpg 212,155,273,29,303,43,242,169,0 107,340,196,187,223,203,134,356,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000248.jpg 69,144,82,143,84,170,71,171,0 43,207,49,206,51,220,45,221,0 206,158,215,157,217,182,208,183,0 232,244,243,243,246,271,235,272,0 349,79,372,54,383,63,359,89,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000251.jpg 148,101,198,90,201,105,151,116,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000264.jpg 283,71,283,42,295,42,295,71,0 257,119,257,105,263,105,263,119,0 242,217,242,198,250,198,250,217,0 418,56,429,55,430,80,420,81,0 443,142,456,140,460,167,447,169,0 11,18,33,8,37,16,14,26,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000276.jpg 29,43,60,37,88,193,57,198,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000277.jpg 154,28,169,25,176,68,162,70,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000279.jpg 186,196,201,193,211,238,197,241,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000280.jpg 119,239,134,238,139,292,123,293,0 427,90,442,87,452,132,437,135,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000297.jpg 32,22,45,19,50,46,38,49,0 65,118,79,117,82,150,67,151,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000300.jpg 120,67,156,42,165,56,130,80,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000310.jpg 439,203,459,198,486,299,465,305,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000315.jpg 108,16,125,13,134,62,117,65,0 437,368,453,366,462,418,445,420,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000323.jpg 125,127,142,123,152,171,136,175,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000326.jpg 74,212,92,210,101,279,83,281,0 432,36,451,33,460,90,441,93,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000335.jpg 223,16,226,1,273,8,270,24,0 414,76,415,67,434,69,433,79,0 378,159,428,140,433,153,383,172,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000360.jpg 263,61,273,59,281,90,270,92,0 229,279,243,276,251,318,237,321,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000372.jpg 34,18,46,15,60,67,48,70,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000390.jpg 94,106,94,37,114,37,114,106,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000394.jpg 59,184,104,164,110,177,65,197,0 98,103,98,93,112,93,112,103,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000395.jpg 268,100,269,87,317,90,316,103,0 423,243,467,222,473,235,429,255,0 461,152,474,150,475,159,462,161,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000411.jpg 80,52,130,50,136,184,87,187,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000433.jpg 67,67,99,61,119,161,87,168,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000434.jpg 209,91,240,83,290,274,259,282,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000440.jpg 19,94,55,81,103,225,67,237,0 362,121,393,115,436,327,406,333,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000452.jpg 59,106,89,99,108,186,78,193,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000457.jpg 127,296,170,252,188,269,145,314,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000482.jpg 82,76,115,73,125,179,91,182,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000513.jpg 411,146,423,142,452,234,440,238,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000515.jpg 50,188,64,184,93,271,79,275,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000532.jpg 50,109,52,40,78,41,76,110,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000540.jpg 307,271,311,133,362,135,358,272,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000553.jpg 414,249,425,192,444,196,433,253,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000561.jpg 263,253,280,143,316,148,299,259,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000571.jpg 235,125,285,124,286,263,237,264,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000572.jpg 82,225,86,84,136,86,132,226,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000594.jpg 221,148,224,123,345,137,342,163,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000609.jpg 151,174,251,163,254,189,154,200,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000613.jpg 289,125,386,115,389,140,292,150,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000618.jpg 176,158,279,145,282,172,180,184,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000649.jpg 142,308,158,294,164,301,147,315,0 144,36,150,34,161,61,155,63,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000656.jpg 88,124,96,122,103,154,95,156,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000662.jpg 27,55,34,52,54,108,46,111,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000671.jpg 424,227,456,201,466,213,434,239,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000672.jpg 199,268,210,263,227,308,215,312,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000675.jpg 398,253,409,249,424,286,413,290,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000700.jpg 274,168,278,111,301,113,296,170,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000719.jpg 444,272,455,217,474,221,464,275,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000745.jpg 106,163,112,135,264,169,257,197,0 9,139,15,121,81,141,76,159,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000749.jpg 72,152,76,133,178,154,174,173,0 65,163,71,144,173,176,167,195,0 60,180,67,160,167,195,160,215,0 204,191,210,163,435,209,429,237,0 275,225,279,205,430,235,426,255,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000752.jpg 88,40,122,17,200,134,166,157,0 175,169,228,144,315,336,261,360,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000753.jpg 125,143,237,126,241,154,129,171,0 355,288,395,280,398,293,357,301,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000770.jpg 306,170,318,162,335,188,323,195,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000795.jpg 196,80,196,51,208,51,208,80,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000838.jpg 331,101,362,94,374,148,343,155,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000855.jpg 239,139,252,138,260,215,248,216,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000917.jpg 341,149,346,83,360,84,355,150,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000918.jpg 315,152,330,132,385,172,370,192,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000922.jpg 378,125,393,115,417,148,403,158,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000927.jpg 231,146,272,115,287,135,246,166,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000932.jpg 185,106,207,85,265,148,243,168,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000941.jpg 325,160,325,104,347,104,347,160,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000946.jpg 213,152,225,132,278,166,265,186,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000951.jpg 416,138,447,136,448,146,417,148,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000954.jpg 156,260,206,243,212,261,162,278,0 210,77,230,70,241,99,222,107,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000966.jpg 117,135,123,101,132,102,126,136,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000967.jpg 385,182,389,147,398,148,393,183,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000971.jpg 187,70,207,54,215,64,194,80,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000993.jpg 69,161,96,133,155,192,128,220,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/000996.jpg 122,170,139,154,172,189,155,205,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001019.jpg 179,129,208,101,216,111,188,138,0 124,224,124,211,162,211,162,224,0 33,143,37,131,66,140,62,152,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001022.jpg 241,222,250,212,269,231,259,240,0 422,133,468,123,473,144,427,155,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001044.jpg 294,109,326,107,327,124,295,125,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001054.jpg 295,112,316,112,316,119,295,119,0 409,231,430,229,431,235,410,236,0 319,267,338,264,339,270,320,274,0 209,208,223,206,224,212,210,214,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001058.jpg 184,66,184,59,208,59,208,66,0 301,178,322,178,322,183,301,183,0 211,214,231,214,231,220,211,220,0 101,155,116,155,116,160,101,160,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001074.jpg 146,129,162,126,164,136,147,138,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001078.jpg 153,77,171,68,190,106,172,115,0 147,172,147,150,159,150,159,172,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001099.jpg 58,177,58,149,70,149,70,177,0 159,65,159,45,168,45,168,65,0 136,214,136,186,148,186,148,214,0 188,152,188,132,198,132,198,152,0 236,120,245,118,248,135,239,137,0 298,144,298,127,308,127,308,144,0 335,68,346,64,353,84,342,88,0 251,236,280,219,288,232,259,250,0 259,265,275,243,286,251,271,273,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001102.jpg 52,33,54,14,62,15,60,34,0 28,158,41,158,41,184,28,184,0 82,124,82,104,92,104,92,124,0 129,89,141,89,141,107,129,107,0 143,209,170,188,181,202,153,223,0 150,231,172,213,183,226,161,244,0 192,116,192,99,201,99,201,116,0 228,41,238,36,247,54,237,58,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001128.jpg 54,78,57,68,84,75,81,86,0 69,164,72,154,103,163,100,173,0 193,80,197,69,236,85,231,96,0 186,221,189,211,217,221,214,230,0 310,159,313,149,342,158,339,168,0 377,82,381,71,407,82,403,92,0 412,158,415,147,440,155,437,165,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001133.jpg 240,81,241,68,282,70,281,84,0 144,173,146,164,168,167,166,177,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001145.jpg 51,80,51,72,74,72,74,80,0 387,122,388,115,407,119,405,126,0
D:\Notebook\yolov7-pytorch\VOCdevkit/VOC2007/JPEGImages/001158.jpg 91,29,95,22,117,34,113,41,0 26,74,27,66,46,71,45,78,0 25,129,26,122,42,124,41,132,0 79,159,80,153,96,155,95,161,0 215,140,234,134,236,143,218,148,0
......@@ -41,7 +41,7 @@ if __name__ == "__main__":
# Cuda 是否使用Cuda
# 没有GPU可以设置成False
#---------------------------------#
Cuda = True
Cuda = False
#---------------------------------------------------------------------#
# distributed 用于指定是否使用单机多卡分布式运行
# 终端指令仅支持Ubuntu。CUDA_VISIBLE_DEVICES用于在Ubuntu下指定显卡。
......
......@@ -76,7 +76,6 @@ class YoloDataset(Dataset):
#---------------------------------------------------#
# box[:, 2:4] = box[:, 2:4] - box[:, 0:2]
# box[:, 0:2] = box[:, 0:2] + box[:, 2:4] / 2
#---------------------------------------------------#
# 调整顺序,符合训练的格式
# labels_out中序号为0的部分在collect时处理
......@@ -105,6 +104,12 @@ class YoloDataset(Dataset):
# 获得预测框
#------------------------------#
box = np.array([np.array(list(map(int,box.split(',')))) for box in line[1:]])
#------------------------------#
# 将polygon转换为rbox
#------------------------------#
rbox = np.zeros((box.shape[0], 6))
rbox[..., :5] = poly2rbox(box[..., :8], (h, w), use_pi=True)
rbox[..., 5] = box[..., 8]
image = image.resize((w,h), Image.BICUBIC)
image_data = np.array(image, np.float32)
......
import numpy as np
import torch
import math
from torchvision.ops import nms
# from utils.nms_rotated import obb_nms
from utils.nms_rotated import obb_nms
class DecodeBox():
def __init__(self, anchors, num_classes, input_shape, anchors_mask = [[6,7,8], [3,4,5], [0,1,2]]):
super(DecodeBox, self).__init__()
self.anchors = anchors
self.num_classes = num_classes
self.bbox_attrs = 5 + 1 + num_classes
self.bbox_attrs = 6 + num_classes
self.input_shape = input_shape
#-----------------------------------------------------------#
# 13x13的特征层对应的anchor是[142, 110],[192, 243],[459, 401]
......@@ -62,6 +63,10 @@ class DecodeBox():
w = torch.sigmoid(prediction[..., 2])
h = torch.sigmoid(prediction[..., 3])
#-----------------------------------------------#
# 获取旋转角度
#-----------------------------------------------#
angle = torch.sigmoid(prediction[..., 4])
#-----------------------------------------------#
# 获得置信度,是否有物体
#-----------------------------------------------#
conf = torch.sigmoid(prediction[..., 5])
......@@ -105,17 +110,17 @@ class DecodeBox():
pred_boxes[..., 1] = y.data * 2. - 0.5 + grid_y
pred_boxes[..., 2] = (w.data * 2) ** 2 * anchor_w
pred_boxes[..., 3] = (h.data * 2) ** 2 * anchor_h
pred_theta = (angle.data - 0.5) * math.pi
#----------------------------------------------------------#
# 将输出结果归一化成小数的形式
#----------------------------------------------------------#
_scale = torch.Tensor([input_width, input_height, input_width, input_height]).type(FloatTensor)
output = torch.cat((pred_boxes.view(batch_size, -1, 4) / _scale,
output = torch.cat((pred_boxes.view(batch_size, -1, 4) / _scale, pred_theta.view(batch_size, -1, 1),
conf.view(batch_size, -1, 1), pred_cls.view(batch_size, -1, self.num_classes)), -1)
outputs.append(output.data)
return outputs
def yolo_correct_boxes(self, box_xy, box_wh, input_shape, image_shape, letterbox_image):
def yolo_correct_boxes(self, box_xy, box_wh, angle, input_shape, image_shape, letterbox_image):
#-----------------------------------------------------------------#
# 把y轴放前面是因为方便预测框和图像的宽高进行相乘
#-----------------------------------------------------------------#
......@@ -136,23 +141,16 @@ class DecodeBox():
box_yx = (box_yx - offset) * scale
box_hw *= scale
box_mins = box_yx - (box_hw / 2.)
box_maxes = box_yx + (box_hw / 2.)
boxes = np.concatenate([box_mins[..., 0:1], box_mins[..., 1:2], box_maxes[..., 0:1], box_maxes[..., 1:2]], axis=-1)
boxes *= np.concatenate([image_shape, image_shape], axis=-1)
box_xy = box_yx[..., ::-1] * image_shape
box_wh = box_hw[..., ::-1] * image_shape
boxes = np.concatenate([box_xy[..., 0:1], box_xy[..., 1:2], box_wh[..., 0:1], box_wh[..., 1:2], angle[..., 0:1] ], axis=-1)
return boxes
def non_max_suppression(self, prediction, num_classes, input_shape, image_shape, letterbox_image, conf_thres=0.5, nms_thres=0.4):
#----------------------------------------------------------#
# 将预测结果的格式转换成左上角右下角的格式。
# prediction [batch_size, num_anchors, 85]
#----------------------------------------------------------#
box_corner = prediction.new(prediction.shape)
box_corner[:, :, 0] = prediction[:, :, 0] - prediction[:, :, 2] / 2
box_corner[:, :, 1] = prediction[:, :, 1] - prediction[:, :, 3] / 2
box_corner[:, :, 2] = prediction[:, :, 0] + prediction[:, :, 2] / 2
box_corner[:, :, 3] = prediction[:, :, 1] + prediction[:, :, 3] / 2
prediction[:, :, :4] = box_corner[:, :, :4]
output = [None for _ in range(len(prediction))]
for i, image_pred in enumerate(prediction):
......@@ -161,13 +159,12 @@ class DecodeBox():
# class_conf [num_anchors, 1] 种类置信度
# class_pred [num_anchors, 1] 种类
#----------------------------------------------------------#
class_conf, class_pred = torch.max(image_pred[:, 5:5 + num_classes], 1, keepdim=True)
class_conf, class_pred = torch.max(image_pred[:, 6:6 + num_classes], 1, keepdim=True)
#----------------------------------------------------------#
# 利用置信度进行第一轮筛选
#----------------------------------------------------------#
conf_mask = (image_pred[:, 4] * class_conf[:, 0] >= conf_thres).squeeze()
conf_mask = (image_pred[:, 5] * class_conf[:, 0] >= conf_thres).squeeze()
#----------------------------------------------------------#
# 根据置信度进行预测结果的筛选
#----------------------------------------------------------#
......@@ -177,10 +174,10 @@ class DecodeBox():
if not image_pred.size(0):
continue
#-------------------------------------------------------------------------#
# detections [num_anchors, 7]
# 7的内容为:x1, y1, x2, y2, obj_conf, class_conf, class_pred
# detections [num_anchors, 8]
# 8的内容为:x, y, w, h, angle, obj_conf, class_conf, class_pred
#-------------------------------------------------------------------------#
detections = torch.cat((image_pred[:, :5], class_conf.float(), class_pred.float()), 1)
detections = torch.cat((image_pred[:, :6], class_conf.float(), class_pred.float()), 1)
#------------------------------------------#
# 获得预测结果中包含的所有种类
......@@ -201,9 +198,9 @@ class DecodeBox():
# 使用官方自带的非极大抑制会速度更快一些!
# 筛选出一定区域内,属于同一种类得分最大的框
#------------------------------------------#
keep = nms(
detections_class[:, :4],
detections_class[:, 4] * detections_class[:, 5],
_, keep = obb_nms(
detections_class[:, :5],
detections_class[:, 5] * detections_class[:, 6],
nms_thres
)
max_detections = detections_class[keep]
......@@ -227,9 +224,9 @@ class DecodeBox():
output[i] = max_detections if output[i] is None else torch.cat((output[i], max_detections))
if output[i] is not None:
output[i] = output[i].cpu().numpy()
box_xy, box_wh = (output[i][:, 0:2] + output[i][:, 2:4])/2, output[i][:, 2:4] - output[i][:, 0:2]
output[i][:, :4] = self.yolo_correct_boxes(box_xy, box_wh, input_shape, image_shape, letterbox_image)
output[i] = output[i].cpu().numpy()
box_xy, box_wh, angle = output[i][:, 0:2], output[i][:, 2:4], output[i][:, 4:5]
output[i][:, :5] = self.yolo_correct_boxes(box_xy, box_wh, angle, input_shape, image_shape, letterbox_image)
return output
def non_max_suppression_obb(self, prediction, conf_thres=0.25, iou_thres=0.45, classes=None, agnostic=False, multi_label=False,
......
......@@ -56,7 +56,10 @@ def convert_annotation(year, image_id, list_file):
continue
cls_id = classes.index(cls)
xmlbox = obj.find('rotated_bndbox')
b = (int(float(xmlbox.find('rotated_bbox_cx').text)), int(float(xmlbox.find('rotated_bbox_cy').text)), int(float(xmlbox.find('rotated_bbox_w').text)), int(float(xmlbox.find('rotated_bbox_h').text)), int(float(xmlbox.find('rotated_bbox_theta').text)))
b = (int(float(xmlbox.find('x1').text)), int(float(xmlbox.find('y1').text)), \
int(float(xmlbox.find('x2').text)), int(float(xmlbox.find('y2').text)), \
int(float(xmlbox.find('x3').text)), int(float(xmlbox.find('y3').text)), \
int(float(xmlbox.find('x4').text)), int(float(xmlbox.find('y4').text)))
list_file.write(" " + ",".join([str(a) for a in b]) + ',' + str(cls_id))
nums[classes.index(cls)] = nums[classes.index(cls)] + 1
......
......@@ -25,8 +25,8 @@ class YOLO(object):
# 验证集损失较低不代表mAP较高,仅代表该权值在验证集上泛化性能较好。
# 如果出现shape不匹配,同时要注意训练时的model_path和classes_path参数的修改
#--------------------------------------------------------------------------#
"model_path" : 'model_data/yolov7_weights.pth',
"classes_path" : 'model_data/coco_classes.txt',
"model_path" : 'logs/best_epoch_weights.pth',
"classes_path" : 'model_data/ssdd_classes.txt',
#---------------------------------------------------------------------#
# anchors_path代表先验框对应的txt文件,一般不修改。
# anchors_mask用于帮助代码找到对应的先验框,一般不修改。
......@@ -46,7 +46,7 @@ class YOLO(object):
#---------------------------------------------------------------------#
# 只有得分大于置信度的预测框会被保留下来
#---------------------------------------------------------------------#
"confidence" : 0.5,
"confidence" : 0.05,
#---------------------------------------------------------------------#
# 非极大抑制所用到的nms_iou大小
#---------------------------------------------------------------------#
......@@ -60,7 +60,7 @@ class YOLO(object):
# 是否使用Cuda
# 没有GPU可以设置成False
#-------------------------------#
"cuda" : True,
"cuda" : False,
}
@classmethod
......@@ -148,7 +148,8 @@ class YOLO(object):
#---------------------------------------------------------#
# 将预测框进行堆叠,然后进行非极大抑制
#---------------------------------------------------------#
results = self.bbox_util.non_max_suppression_obb(torch.cat(outputs, 1), self.confidence, self.nms_iou, classes=self.num_classes)
results = self.bbox_util.non_max_suppression(torch.cat(outputs, 1), self.num_classes, self.input_shape,
image_shape, self.letterbox_image, conf_thres = self.confidence, nms_thres = self.nms_iou)
if results[0] is None:
return image
......@@ -179,12 +180,10 @@ class YOLO(object):
#---------------------------------------------------------#
for i, c in list(enumerate(top_label)):
predicted_class = self.class_names[int(c)]
poly = top_polys[i]
poly = top_polys[i].astype(np.int32)
score = top_conf[i]
polygon_list = [(poly[0], poly[1]), (poly[2], poly[3]), \
(poly[4], poly[5]), (poly[6], poly[7])]
polygon_list = list(poly)
label = '{} {:.2f}'.format(predicted_class, score)
draw = ImageDraw.Draw(image)
label_size = draw.textsize(label, font)
......@@ -193,7 +192,7 @@ class YOLO(object):
text_origin = np.array([poly[0], poly[1]], np.int32)
draw.polygon(xy=polygon_list, fill=(0, 0, 0), outline=self.colors[i], width=label_size)
draw.polygon(xy=polygon_list, outline=self.colors[c])
draw.text(text_origin, str(label,'UTF-8'), fill=(0, 0, 0), font=font)
del draw
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册