0%

最近给我亲戚实现一个在windows下根据人脸识别找到所有类似照片的需求,通过python学了下,特别在windows下的环境搭建方面遇到了很多的坑,环境搭建可以查看前两篇博客有讲述安装中的坑,这里分享下通过python实现这个功能的代码

代码的实现并不是很难,其中主要用到的类库就是Face_Recognition,这个类库在mac、linux上可以完美适配,特别在windows上出现的问题很多,特别是Face_Recognition需要用到的dlib在windows上无法安装,以下的这个通过一张照片全局查找类似照片的代码,谢谢指正。

阅读全文 »

问题

直接使用pyinstaller -F find.py 进行打包,之后运行exe会报错,报错内容为:RuntimeError: Unable to open C:\Users\pc\AppData\Local\Temp_MEI70802\face_recognition_models\models\shape_predictor_68_face_landmarks. dat
pic

解决

这个错误的意思是无法找到face_recognition的模型文件,那么我们需要去face_recognition找到对应的模型文件的真实地址,此时需要修改spec文件

阅读全文 »

这里主要讲解windows下face_recognition的安装,因为face_recognition不能完美的适配windows,如果在Mac、Linux平台就能完美的是适配,这里整理了windows下按照face_recognition遇到的问题及解决方案。

概述

人脸识别库有很多,但DeepFace、Face_Recognition绝对是最具代表性的两个库,其中Face_Recognition库更是被称为这个星球上最好的人脸识别库。

但是Face_Recognition官方却明确声明,只针对MacLinux做适配,对windows系统不做适配,官方的原话为:windows或许能正常工作

这让很多windows用户焦头烂额了,因为可能连库本身的安装都存在问题,本文既是针对这个情况为大家介绍一个在windows下极简安装Face_Recognition库的方法。

阅读全文 »

2024年,你好!
新的一年到来,抽点时间回顾下昨天也展望下未来;随着年龄的增长越来越不想跨年,而且你会发觉一年的时间特别短,时间过得飞快,有的人还没好好陪伴、有的事还没做完、有的愿望还没实现、有的地方还没远去;时间只是一味的改变你的容颜、抹去你的黑发、退化你的身体、磨灭你的记忆,却从不提醒你落下了好多东西。趁着快放假前夕,写些无头绪的杂感。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@proxy ~]# vi /etc/nginx/conf.d/forward.conf
server {
listen 80;
server_name forward.linuxds.com;
access_log /var/log/nginx/forward.access.log main;
error_log /var/log/nginx/forward.error.log warn;
location / {
proxy_pass https://www.landiannews.com/; #代理地址
proxy_redirect off;
# proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
}
}
1 [root@proxy ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
2 [root@proxy ~]# nginx -s reload #重载配置文件

配置释义

proxy_set_header X-Real-IP $remote_addr:把源IP【$remote_addr,建立HTTP连接header里面的信息】赋值给X-Real-IP,从而通过$X-Real-IP来获取源IP;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for:在nginx作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来,用【,】隔开。

阅读全文 »

闲来无事,将自己原有的台式机进行了升级,很享受自己diy的这个过程,特别是装机过程;硬件迭代更新很快,本人不太喜欢追求最新硬件,比如刚出的14代cpu,喜欢淘一些二手硬件进行装机,主要是体验装机过程,将自己喜欢的配件全部组装在一起的快感。

升级后的配置信息

  • cpu:Intel I5 12400F
  • 主板:微星B660 迫击炮 wifi版
  • 内存:刚威 3600hz 16G * 2
  • 显卡:微星RTX2060 6G
  • 硬盘:铠侠 NVME m.2 pcie3.0 500G
  • 电源:酷冷至尊 G600金牌 600w
  • cpu散热: 酷冷至尊
  • 风扇:RGB 集线器控制4个
  • 机箱:乔思伯 U4 plus

效果图

装机

阅读全文 »

火山视频点播集成web上传SDK是什么呢?是通过前端对接视频点播sdk直接上传视频到视频点播中

本文介绍的是火山视频点播集成web上传SDK案例,针对于这个板块应该使用的人不是很多,但是里面会遇到不同的坑,下面借助以下代码希望能帮助到更多的人提升该板块的代码编写速度;
下面的案例是实操之后的代码结果,根据不同的需求可以稍作调整,将代码直接复用。

火山官方视频点播集成web上传SDK文档: https://www.volcengine.com/docs/4/66560#addfile-fileoption

在做这个操作之前需要注意几点:

1、是否开通了火山视频点播服务
2、不能将视频直接放在视频点播里面播放,会按照流量收费 (我的方案是转存到桶中)

阅读全文 »

很多时候我们有公历和农历之间的互转需求,农历的计算是按照中国传统中总结出来的,与公历有一定的偏差,但很多时候也有必要用到农历,所以这里推出公历与农历的互转,希望帮助到你提升代码速度。

以下代码可以直接copy使用,细节地方根据php版本不同稍作调整即可。

阅读全文 »

这里介绍layui table前端渲染、判断、css属性添加等处理方法,在遇到需要判断的某些列值的时候可以加入这种方式

在layui.js的 table 组件中,cols 属性是用于定义表格列的配置项。
每个列的配置都是一个对象,包含了一些属性,下面是一些常用的属性及其作用:

  • field:列字段名,对应数据源中的属性名。
  • title:列标题,显示在表头中。
  • width:列宽度,可以是数字或百分比。
  • sort:是否开启排序功能,可选值为 true 或者 false。
  • align:列的水平对齐方式,可选值为 left、center 或 right。
  • templet:自定义列模板,可以是一个函数或者一个 HTML 字符串。
  • toolbar:绑定工具条,可以是一个 HTML 字符串或者一个选择器。
  • edit:是否开启单元格编辑功能,可选值为 text、select 或者 checkbox。
  • fixed:列固定,可选值为 left、right 或者 true(固定在左侧)或者 true(固定在右侧)。
阅读全文 »

php实现简单的excel导出案例如下,能很方便、便捷的导出所需数据,性能比较好;如需定制化导出,比如需要设置行高宽度、颜色填充、居中等效果建议使用PHPExcel插件去做,该插件具有更强大的定制化功能,能满足你各种样式需求

以下是php导出代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public function exportcos() {
set_time_limit(0); // 设置长时执行
ini_set('memory_limit', '512M'); // 设置执行内存
$fileName = date('ymd').'_cos.csv'; // 导出的excel文件名
//设置header头
header('Content-Description: File Transfer');
header("Content-Type: application/vnd.ms-excel;charset=UTF-8");
header('Content-Disposition: attachment;filename="' . $fileName . '"');
header('Expires: 0');
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') === false) {
header('Cache-Control: no-cache');
header('Pragma: no-cache');
} else {
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
}
//打开php数据输入缓冲区
$fp = fopen('php://output', 'ab');
$header = ['序号','姓名','性别','学校','班级']; // 设置excel表头
fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
fputcsv($fp, $header);


// 数据列表处理
for ($i = 1; $i <= 50000; $i++) { // 如是真实查询数据,加入筛选条件得到过滤后需要的数据
$item['id'] = $i;
$item['name'] = "谢晨奕";
$item['sex'] = "女";
$item['school'] = "璞普幼儿园";
$item['class'] = "中二班";
fputcsv($fp, $item); // 写一行excel
}
fclose($fp); // 最后关闭缓冲区
}