添加 保存emb值 功能
添加 保存emb值 功能
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -13,3 +13,5 @@ model_128.zip
|
|||||||
model_512.zip
|
model_512.zip
|
||||||
emb_csv/*.csv
|
emb_csv/*.csv
|
||||||
emb_img/*.jpg
|
emb_img/*.jpg
|
||||||
|
|
||||||
|
kkk.jpg
|
||||||
|
|||||||
@@ -28,6 +28,22 @@ void load_emb_csv(int num, vector<vector<mydataFmt>> &vecVec) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write_emb_csv(vector<mydataFmt> &o, int num) {
|
||||||
|
ofstream outFile;
|
||||||
|
outFile.open("../emb_csv/" + to_string(num + 1) + ".csv", ios::out); // 打开模式可省略
|
||||||
|
for (int l = 0; l < Num; ++l) {
|
||||||
|
// cout << o[l] << endl;
|
||||||
|
if (l == Num - 1) {
|
||||||
|
outFile << o[l];
|
||||||
|
} else {
|
||||||
|
outFile << o[l] << ',';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
outFile << endl;
|
||||||
|
outFile.close();
|
||||||
|
cout << "write over!" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
float compare(vector<mydataFmt> &lineArray0, vector<mydataFmt> &lineArray1) {
|
float compare(vector<mydataFmt> &lineArray0, vector<mydataFmt> &lineArray1) {
|
||||||
mydataFmt sum = 0;
|
mydataFmt sum = 0;
|
||||||
for (int i = 0; i < Num; ++i) {
|
for (int i = 0; i < Num; ++i) {
|
||||||
@@ -40,7 +56,6 @@ float compare(vector<mydataFmt> &lineArray0, vector<mydataFmt> &lineArray1) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void run_mtcnn(Mat &image, vector<Rect> &vecRect) {
|
void run_mtcnn(Mat &image, vector<Rect> &vecRect) {
|
||||||
vector<Point> vecPoint;
|
vector<Point> vecPoint;
|
||||||
mtcnn find(image.rows, image.cols);
|
mtcnn find(image.rows, image.cols);
|
||||||
@@ -62,6 +77,9 @@ void run_facenet(Mat &image, vector<Rect> &vecRect, int csv_num) {
|
|||||||
vector<mydataFmt> n;
|
vector<mydataFmt> n;
|
||||||
vector<vector<mydataFmt>> o;
|
vector<vector<mydataFmt>> o;
|
||||||
ggg.run(fourthImage, n, i);
|
ggg.run(fourthImage, n, i);
|
||||||
|
|
||||||
|
// write_emb_csv(n, i);
|
||||||
|
// return;
|
||||||
load_emb_csv(csv_num, o);
|
load_emb_csv(csv_num, o);
|
||||||
for (int j = 0; j < o.size(); ++j) {
|
for (int j = 0; j < o.size(); ++j) {
|
||||||
float result = compare(n, o[j]);
|
float result = compare(n, o[j]);
|
||||||
@@ -74,14 +92,13 @@ void run_facenet(Mat &image, vector<Rect> &vecRect, int csv_num) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void run() {
|
void run() {
|
||||||
int b = 0;
|
int b = 0;
|
||||||
if (b == 0) {
|
if (b == 0) {
|
||||||
// Mat image = imread("../40.jpg");
|
// Mat image = imread("../40.jpg");
|
||||||
// Mat image = imread("../1.jpeg");
|
// Mat image = imread("../3.jpeg");
|
||||||
// Mat image = imread("../Kong_Weiye.jpg");
|
// Mat image = imread("../Kong_Weiye.jpg");
|
||||||
Mat image = imread("../Kong_Weiye1.jpg");
|
Mat image = imread("../kkk.jpg");
|
||||||
// Mat image = imread("../20.png");
|
// Mat image = imread("../20.png");
|
||||||
// Mat image = imread("../emb_img/0.jpg");
|
// Mat image = imread("../emb_img/0.jpg");
|
||||||
|
|
||||||
@@ -89,7 +106,7 @@ void run() {
|
|||||||
start = clock();
|
start = clock();
|
||||||
vector<Rect> vecRect;
|
vector<Rect> vecRect;
|
||||||
run_mtcnn(image, vecRect);
|
run_mtcnn(image, vecRect);
|
||||||
run_facenet(image, vecRect, 5);
|
run_facenet(image, vecRect, 13);
|
||||||
|
|
||||||
imshow("result", image);
|
imshow("result", image);
|
||||||
imwrite("../result.jpg", image);
|
imwrite("../result.jpg", image);
|
||||||
|
|||||||
Reference in New Issue
Block a user