YOLOv5にて、「black,white,red purple,pink,blue」の色の識別を行っているのですが、「https://farml1.com/object_counter/」
この方のブログの通りにしたところ、「black」や「white」などの識別は出来たのですが、識別した後も「black」が何回識別されたのか、「white」が何回識別されたのか、要するに累計数を足していき、表示したいのですがどのようにコードを変更すれば良いのかが分からなくてつまずいています。当方初学者で、説明も雑となってしまい申し訳ありませんが、ご回答お願い致します。
Write results
for *xyxy, conf, cls in reversed(det): # Print counter n_1 = (det[:, -1] == 0).sum() #ラベルAの総数をカウント a = f"{n_1} "#{'A'}{'s' * (n_1 > 1)}, " cv2.putText(im0, " counter " , (20, 50), 0, 1.0, (0, 0, 0), 3) cv2.putText(im0, " red : " + str(a), (20, 100), 0, 1.5, (71, 99, 255), 3) n_2 = (det[:, -1] == 1).sum() #ラベルBの総数をカウント b = f"{n_2} "#{'A'}{'s' * (n_1 > 1)}, " cv2.putText(im0, "black : " + str(b), (20, 150), 0, 1.5, (147, 20, 255), 3) n_3 = (det[:, -1] == 2).sum() #ラベルCの総数をカウント c = f"{n_3} "#{'A'}{'s' * (n_1 > 1)}, " cv2.putText(im0, "white : " + str(c), (20, 200), 0, 1.5, (0, 165, 255), 3) n_4 = (det[:, -1] == 3).sum() #ラベルDの総数をカウント d = f"{n_4} "#{'A'}{'s' * (n_1 > 1)}, " cv2.putText(im0, "blue : " + str(d), (20, 250), 0, 1.5, (128, 0, 0), 3) n_5 = (det[:, -1] == 4).sum() #ラベルEの総数をカウント e = f"{n_5} "#{'A'}{'s' * (n_1 > 1)}, " cv2.putText(im0, "purple: " + str(e), (20, 300), 0, 1.5, (0, 255, 255), 3) n_6 = (det[:, -1] == 5).sum() #ラベルFの総数をカウント f = f"{n_6} "#{'A'}{'s' * (n_1 > 1)}, " cv2.putText(im0, "pink: " + str(f), (20, 350), 0, 1.5, (0, 255, 0), 3)
