win10 YOLO v2 v3新增中文標籤

2021-08-18 20:10:28 字數 2694 閱讀 3504

這個方向各個部落格步驟有些亂,多是linux,自己win10 64位,根據自己實現整理。

下第乙個。

darknet提供了製作png的指令碼,data/labels/make_labels.py

font = 'h:\\deeplearning\\yolov2\\darknet-masterv2\\darknet-master\\build\\darknet\\x64\\data\\labels\\ukai.ttc'

# 'futura-normal'

def make_labels(s):

l = ["車"]

for word in l:

os.system("convert -fill black -background white -bordercolor white -border 4 -font %s -pointsize %d label:\"%s\" \"cn_0_%d.png\""

%(font,s,word,s/12-1)) #cn_0_0/1/

2/3/4/5/6/7.png如果多類自己改為cn_1_

%d,,依次輸出吧,沒有研究出來怎麼遍歷。。

for i in [12,24,36,48,60,72,84,96]:

make_labels(i)

在該目錄下,shift右鍵,開啟powershell,

python make_labels.py
即可生成。

修改image.c

跟著這個改。

image **load_alphabet()

這裡直接把大小固定了

image get_label_chinese(image

**characters, int class, int

size)

不知為什麼輸出文字描述的地方name[class]是亂碼

void draw_detections(image im, int num, float thresh, box *boxes, float **probs, char **names, image **alphabet, int classes)

//printf("\n");

int width = im.h * .012;

if(0)

printf("%s: %.0f%%\n",names[class], prob*100);//顯示類名:**概率

改線寬

void draw_detections(image im, int num, float thresh, box *boxes, float **probs, char **names, image **alphabet, int classes)

//printf("\n");

int width = im.h * .012;

if(0)

printf("%s: %.0f%%\n",names[class], prob*100);//顯示類名:**概率

int offset = class*123457 % classes;

float red = get_color(2,offset,classes);

float green = get_color(1,offset,classes);

float blue = get_color(0,offset,classes);

float rgb[3];

//width = prob*20+2;

rgb[0] = red;

rgb[1] = green;

rgb[2] = blue;

box b = boxes[i];

int left = (b.x-b.w/2.)*im.w;

int right = (b.x+b.w/2.)*im.w;

int top = (b.y-b.h/2.)*im.h;

int bot = (b.y+b.h/2.)*im.h;

if(left < 0) left = 0;

if(right > im.w-1) right = im.w-1;

if(top < 0) top = 0;

if(bot > im.h-1) bot = im.h-1;

draw_box_width(im, left, top, right, bot, width/2, red, green, blue);//width=width/2

if (alphabet) {

#ifdef chinese

image label = get_label_chinese(alphabet, class, (im.h*.03) / 10);

#else

image label = get_label(alphabet, names[class], (im.h*.03)/10);

#endif

draw_label(im, top + width/2, left, label, rgb);//width=width/2

yolov3 class對應的引數改一下,其他類似。

ref

WIN10 WIN2D 影象處理

原始碼下載 訪問密碼 8e48 還是先來看下截圖 實現了幾個效果 放大 縮小 旋轉 左右翻轉 上下翻轉,亮度變化 灰度圖 對比度 高斯模糊。放大 縮小程式碼 private void scale float x transform.invalidate private void zoomin cli...

Win10系列 C 應用控制項高階2

若要繪製矩形需要用到rectangle元素,通過指定rectangle元素的width和height屬性值來確定矩形的尺寸。而設定radiusx和radiusy屬性值能得到圓角的矩形,這兩個屬性分別表示圓角的x軸方向和y軸方向圓角的大小,radiusx允許的最大值為width的一半,radiusy允...

解決kinect v2在win10頻繁掉線重啟問題

1.開啟任務管理器 右鍵單擊開始選單 任務管理器 2.轉到詳細資訊選項卡,看看kinect每次重新啟動時是否都在重新啟動kinectservice.exe。3.右鍵單擊詳細資訊選項卡 屬性 詳細資訊選項卡 檢查 檔案版本 中的kinectservice.exe 應為2.2.1811.10000 1....