当前位置: 首页 > news >正文

目前做网站框架seo合作

目前做网站框架,seo合作,企业怎么做网站建设,做网站多少钱 佛山1、加载一张原图&#xff0c;并识别人脸的68个特征点 cv::Mat img cv::imread("5.jpg");// 人脸68特征点的识别函数vector<Point2f> points_vec dectectFace68(img);// 大眼效果函数Mat dst0 on_BigEye(800, img, points_vec);2、函数 vector<Point2f&g…

1、加载一张原图,并识别人脸的68个特征点

	cv::Mat img = cv::imread("5.jpg");// 人脸68特征点的识别函数vector<Point2f> points_vec = dectectFace68(img);// 大眼效果函数Mat dst0 = on_BigEye(800, img, points_vec);

请添加图片描述
2、函数

vector<Point2f> dectectFace68(Mat src)
{vector<Point2f> points_vec;int* pResults = NULL;//在检测函数中使用了pBuffer。  //如果你调用多个线程中的函数,请为每个线程创建一个缓冲区!  unsigned char* pBuffer = (unsigned char*)malloc(DETECT_BUFFER_SIZE);if (!pBuffer){fprintf(stderr, "Can not alloc buffer.\n");//return 100;}Mat gray;cvtColor(src, gray, CV_BGR2GRAY);int doLandmark = 1;// do landmark detection  pResults = facedetect_multiview_reinforce(pBuffer, (unsigned char*)(gray.ptr(0)), gray.cols, gray.rows, (int)gray.step,1.2f, 2, 48, 0, doLandmark);int cxa = *pResults;ofstream file("facedata.txt", ios::out);//打印检测结果 if (0 == cxa){}else{for (int i = 0; i < (pResults ? *pResults : 0); i++){short* p = ((short*)(pResults + 1)) + 142 * i;//rectangle(src, Rect(p[0], p[1], p[2], p[3]), Scalar(0, 255, 0), 2);if (doLandmark){for (int j = 0; j < 68; j++){char c[8];_itoa(j, c, 10);Point2f ff(p[6 + 2 * j], p[6 + 2 * j + 1]);points_vec.push_back(ff);file << ff.x << "\t" << ff.y << endl;/*	circle(src, Point((int)p[6 + 2 * j], (int)p[6 + 2 * j + 1]), 3, Scalar(0, 0, 255), 3);CvPoint font;putText(src, c, Point((int)p[6 + 2 * j], (int)p[6 + 2 * j + 1]), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(255, 23, 0), 1);*/}}}}return points_vec;
}// 双线性插值算法
void BilinearInsert(Mat& src, Mat& dst, float ux, float uy, int i, int j)
{auto Abs = [&](float f) {return f > 0 ? f : -f;};int c = src.channels();if (c == 3){//存储图像得浮点坐标CvPoint2D32f uv;CvPoint3D32f f1;CvPoint3D32f f2;//取整数int iu = (int)ux;int iv = (int)uy;uv.x = iu + 1;uv.y = iv + 1;//step图象像素行的实际宽度  三个通道进行计算(0 , 1 2  三通道)f1.x = ((uchar*)(src.data + src.step * iv))[iu * 3] * (1 - Abs(uv.x - iu)) + \((uchar*)(src.data + src.step * iv))[(iu + 1) * 3] * (uv.x - iu);f1.y = ((uchar*)(src.data + src.step * iv))[iu * 3 + 1] * (1 - Abs(uv.x - iu)) + \((uchar*)(src.data + src.step * iv))[(iu + 1) * 3 + 1] * (uv.x - iu);f1.z = ((uchar*)(src.data + src.step * iv))[iu * 3 + 2] * (1 - Abs(uv.x - iu)) + \((uchar*)(src.data + src.step * iv))[(iu + 1) * 3 + 2] * (uv.x - iu);f2.x = ((uchar*)(src.data + src.step * (iv + 1)))[iu * 3] * (1 - Abs(uv.x - iu)) + \((uchar*)(src.data + src.step * (iv + 1)))[(iu + 1) * 3] * (uv.x - iu);f2.y = ((uchar*)(src.data + src.step * (iv + 1)))[iu * 3 + 1] * (1 - Abs(uv.x - iu)) + \((uchar*)(src.data + src.step * (iv + 1)))[(iu + 1) * 3 + 1] * (uv.x - iu);f2.z = ((uchar*)(src.data + src.step * (iv + 1)))[iu * 3 + 2] * (1 - Abs(uv.x - iu)) + \((uchar*)(src.data + src.step * (iv + 1)))[(iu + 1) * 3 + 2] * (uv.x - iu);((uchar*)(dst.data + dst.step * j))[i * 3] = f1.x * (1 - Abs(uv.y - iv)) + f2.x * (Abs(uv.y - iv));  //三个通道进行赋值((uchar*)(dst.data + dst.step * j))[i * 3 + 1] = f1.y * (1 - Abs(uv.y - iv)) + f2.y * (Abs(uv.y - iv));((uchar*)(dst.data + dst.step * j))[i * 3 + 2] = f1.z * (1 - Abs(uv.y - iv)) + f2.z * (Abs(uv.y - iv));}
}//图像局部缩放算法
void LocalTranslationWarp_Eye(Mat& img, Mat& dst, int warpX, int warpY, int endX, int endY, float radius)
{//平移距离 float ddradius = radius * radius;//计算|m-c|^2//size_t mc = (endX - warpX) * (endX - warpX) + (endY - warpY) * (endY - warpY);//计算 图像的高  宽 通道数量int height = img.rows;int width = img.cols;int chan = img.channels();auto Abs = [&](float f) {return f > 0 ? f : -f;};for (int i = 0; i < width; i++){for (int j = 0; j < height; j++){// # 计算该点是否在形变圆的范围之内//# 优化,第一步,直接判断是会在(startX, startY)的矩阵框中if ((Abs(i - warpX) > radius) && (Abs(j - warpY) > radius))continue;float distance = (i - warpX) * (i - warpX) + (j - warpY) * (j - warpY);if (distance < ddradius){float rnorm = sqrt(distance) / radius;float ratio = 1 - (rnorm - 1) * (rnorm - 1) * 0.5;//映射原位置float UX = warpX + ratio * (i - warpX);float UY = warpY + ratio * (j - warpY);//根据双线性插值得到UX UY的值BilinearInsert(img, dst, UX, UY, i, j);}}}
}//大眼效果
Mat on_BigEye(int b, Mat src, vector<Point2f> points_vec)
{Mat dst = src.clone();Point2f left_landmark = points_vec[38];Point2f	left_landmark_down = points_vec[27];Point2f	right_landmark = points_vec[44];Point2f	right_landmark_down = points_vec[27];Point2f	endPt = points_vec[30];//# 计算第4个点到第6个点的距离作为距离/*float r_left = sqrt((left_landmark.x - left_landmark_down.x) * (left_landmark.x - left_landmark_down.x) +(left_landmark.y - left_landmark_down.y) * (left_landmark.y - left_landmark_down.y));cout << "左眼距离:" << r_left;*/float r_left = b;//	# 计算第14个点到第16个点的距离作为距离//float	r_right = sqrt(//	(right_landmark.x - right_landmark_down.x) * (right_landmark.x - right_landmark_down.x) +//	(right_landmark.y - right_landmark_down.y) * (right_landmark.y - right_landmark_down.y));//cout << "右眼距离:" << r_right;float r_right = b;//	# 瘦左                     //LocalTranslationWarp_Eye(src, dst, left_landmark.x, left_landmark.y, endPt.x, endPt.y, r_left);//	# 瘦右LocalTranslationWarp_Eye(src, dst, right_landmark.x, right_landmark.y, endPt.x, endPt.y, r_right);return dst;
}

3、图像结果
请添加图片描述
大眼睛结果
请添加图片描述

http://www.khdw.cn/news/11848.html

相关文章:

  • 四平网站建设有哪些湖北疫情最新消息
  • 西安做北郊做网站成都百度推广开户公司
  • 营销策划公司企业文化2022最好的百度seo
  • 做网站厂家轻松seo优化排名
  • 网站系统建设与管理百度收录批量提交入口
  • 的网站建设软文广告
  • 用dw做网站的代码百度搜索广告价格
  • 网站建设怎么样工作室北京搜索引擎优化管理专员
  • 有没有好的网站可以学做头发旅行网站排名前十名
  • 深圳设计周展会2023时间seo网站关键词排名优化公司
  • 如何将自己做的网站推广出去互联网广告投放公司
  • 百度小程序登录入口seo前线
  • 微信开发网站建设人力资源管理师
  • 保险网站最近一周新闻大事
  • 泰州企业网站建设公司上海优化价格
  • 怎样做自己的小说网站网站seo推广员招聘
  • 网站建设图片网络营销是做什么的
  • 做视频导航网站有哪些品牌营销策划公司哪家好
  • 番禺网站建设培训论述搜索引擎优化的具体措施
  • webapp开发教程广州网站优化公司排名
  • 宜兴建设局 审图中心 网站开网站需要多少钱
  • 商城网站需求西安网站seo哪家公司好
  • 艾奇视觉网站建设今日热点新闻头条
  • 重庆便宜网站建设百度seo正规优化
  • 枣庄建设工程管理局网站兰州seo快速优化报价
  • 网站建设 网站制作app运营方案
  • 长沙做网站的公司有哪些网络代理app
  • 做响应式网站代码免费的网页入口
  • 纪委网站举报怎么做网站数据统计工具
  • wordpress下载网站模板怎么用sem分析是什么意思