ehls数字货币
❶ hls怎么调用代码
整个项目的结构图:
编写DetectFaceDemo.java,代码如下:
[java] view
plainprint?
package com.njupt.zhb.test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.Highgui;
import org.opencv.objdetect.CascadeClassifier;
//
// Detects faces in an image, draws boxes around them, and writes the results
// to "faceDetection.png".
//
public class DetectFaceDemo {
public void run() {
System.out.println("\nRunning DetectFaceDemo");
System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());
// Create a face detector from the cascade file in the resources
// directory.
//CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());
//Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());
//注意:源程序的路径会多打印一个‘/’,因此总是出现如下错误
/*
* Detected 0 faces Writing faceDetection.png libpng warning: Image
* width is zero in IHDR libpng warning: Image height is zero in IHDR
* libpng error: Invalid IHDR data
*/
//因此,我们将第一个字符去掉
String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);
CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);
Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));
// Detect faces in the image.
// MatOfRect is a special container class for Rect.
MatOfRect faceDetections = new MatOfRect();
faceDetector.detectMultiScale(image, faceDetections);
System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));
// Draw a bounding box around each face.
for (Rect rect : faceDetections.toArray()) {
Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));
}
// Save the visualized detection.
String filename = "faceDetection.png";
System.out.println(String.format("Writing %s", filename));
Highgui.imwrite(filename, image);
}
}
package com.njupt.zhb.test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.Highgui;
import org.opencv.objdetect.CascadeClassifier;
//
// Detects faces in an image, draws boxes around them, and writes the results
// to "faceDetection.png".
//
public class DetectFaceDemo {
public void run() {
System.out.println("\nRunning DetectFaceDemo");
System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());
// Create a face detector from the cascade file in the resources
// directory.
//CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());
//Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());
//注意:源程序的路径会多打印一个‘/’,因此总是出现如下错误
/*
* Detected 0 faces Writing faceDetection.png libpng warning: Image
* width is zero in IHDR libpng warning: Image height is zero in IHDR
* libpng error: Invalid IHDR data
*/
//因此,我们将第一个字符去掉
String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);
CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);
Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));
// Detect faces in the image.
// MatOfRect is a special container class for Rect.
MatOfRect faceDetections = new MatOfRect();
faceDetector.detectMultiScale(image, faceDetections);
System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));
// Draw a bounding box around each face.
for (Rect rect : faceDetections.toArray()) {
Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));
}
// Save the visualized detection.
String filename = "faceDetection.png";
System.out.println(String.format("Writing %s", filename));
Highgui.imwrite(filename, image);
}
}
3.编写测试类:
[java] view
plainprint?
package com.njupt.zhb.test;
public class TestMain {
public static void main(String[] args) {
System.out.println("Hello, OpenCV");
// Load the native library.
System.loadLibrary("opencv_java246");
new DetectFaceDemo().run();
}
}
//运行结果:
//Hello, OpenCV
//
//Running DetectFaceDemo
///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml
//Detected 8 faces
//Writing faceDetection.png
package com.njupt.zhb.test;
public class TestMain {
public static void main(String[] args) {
System.out.println("Hello, OpenCV");
// Load the native library.
System.loadLibrary("opencv_java246");
new DetectFaceDemo().run();
}
}
//运行结果:
//Hello, OpenCV
//
//Running DetectFaceDemo
///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml
//Detected 8 faces
//Writing faceDetection.png
❷ 如图,在平行四边形ABCD中,点E,F在对角线BD上,且AE平行于CF
见图
❸ 求大神写个批处理复制子目录里的文件至上一级文件夹
经测验功没文件夹asp删除需要删除说声加句代码行
@echo off
setlocal enabledelayedexpansion
for /r f:\ %%i in (*.txt) do (
set pa=%%~dp$path:i
set pa=!pa:~0,-4!
move %%i !pa!
)
pause
保存bat 运行
注:由于批处理极强针性所我写代码根据举例做测试测试功
❹ 一只猫追赶一只老鼠,老鼠沿A B C方向跑,猫沿A D C 方向跑,结果在E点将老鼠抓住了。老鼠与猫的速度比是
(1)猫和老鼠多跑了几米才追到老鼠?
猫比老鼠多跑3+3=6m
猫跑了6/(1-17/20)=40m
老鼠跑了6/(20/17-1)=34m
(2)猫和老鼠所跑的四边形的周长是多少米?
猫和老鼠跑的总距离就是四边形的周长
40+34=74m
❺ 怎么做到微信直播,HTML5直播,低延时
功能模块概述
通过obs客户端推流到nginx流媒体服务器上,对流媒体用ffmpeg将流剪切为若干段ts流文件并保存到临时目录中,通过访问m3u8格式拼接ts流文件段来观看直播。
推流端
采用开源工具OBS客户端进行推流
根据项目的推流地址,填入OBS客户端(下载地址)中,并设置场景,保存后重启,便可开始推流。
为更加稳定的推流,建议使用以上链接中的v0.625稳定版本,按提示安装完成后,打开设定.在广播设定中,伺服器统一填写我们项目的流媒体接收流地址:
rtmp://127.0.0.1:1935/hls/
以上这几个数据都是可以更改的。
127.0.0.1——你的流媒体服务器ip
1935——你的rtmp端口号
hls——你的直播nginx配置模块
具体在下文中也有详细介绍
配置地址
回到主界面,右键来源,选择添加视频捕捉设备或获取窗口等(相关设置默认即可),点击开始串流,便可开始直播。
添加场景
图为添加视频捕捉设备后的直播画面:
直播中
流媒体服务器
Nginx接收推流模块
rtmp_auto_push on;
rtmp {
server {
listen 1935;
application hls {
live on;
hls on;
hls_path /tmp/hls;
on_publish 项目地址/liveOnPublish;
on_publish_done 项目地址/liveOnDone;
notify_method get;
}
}
}
配上我在word上的注解
注解1
Nginx处理直播流模块
http {
server {
listen 80;
server_name localhost;
location /hls {
secure_link $arg_st,$arg_e;
secure_link_md5 key$arg_e;
subs_filter .ts '.ts?st=$arg_st&e=$arg_e&clentip=$remote_addr';
subs_filter_types application/vnd.apple.mpegurl;
if ($secure_link = "") {
return 402;
}
if ($secure_link = "0") {
return 403;
}
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
add_header Cache-Control no-cache;
}
}
}
注解2
项目部署服务器
流媒体服务器不通过项目服务器,整个直播过程的推流和处理流都在流媒体服务器上进行。项目服务器主要进行直播地址加密处理意见推流开始和结束触发的方法(liveOnPublish(),liveOnDone())已及对直播地址加密.
播放端
直接通过HTML5中的<video>标签设置src来播放直播流。如:
<video src="pro/live.m3u8?st=UM/L8jdfTlY2b1j1F6XSxA==&e=1468548530
" controls="controls"></video>
存在的问题
延迟待测试(不科学的数据是安卓手机普遍在30-40s,苹果手机在20-30s)
并发待测试
掉帧待测试(网速影响大,网络好几乎不掉帧,网络差掉一半,用户体验差)
❻ 跪求小贱的《说好了不见面》、许嵩的《北海道花季》《断桥残雪》的六线谱啊要原版的,没节奏型的别来。
六线谱是什么。。
❼ 在给排水消防平面设计图中,出现的XLd,XLe,XLs,HLs都是代表什么意思,是否有这个方面的书籍
一般情况下表示应该是是XL-1,XL-2或者 JL-1这种表示形式。各个设计院的习惯不同 可能表示方法不一样。XL是消防立管,PL是排水立管,HL有可能是回水立管。abcde```表示管段的编号。
如果你的图纸完整的话可以看图纸目录,上边有相应的线型和图例。
书籍很多,貌似很少有专门讲识图的。你可以在网络文库上找找 05S902,04S901.
❽ http://www.tudou.com/programs/view/hlSZ6EdywbY/ 36分钟左右放的歌曲是什么啊
0.0好长
❾ 剪纸作品如何保持不掉色
要想长时间的保证剪纸作品的质量和色彩,我觉得最后把它裱起来。如果只是几张作品的话,推荐你去书画店等专业的裱画店就可以裱,如果长期大量的作品要裱最好自己来,毕竟裱画的收费还是较高的。下面是裱剪纸的操作步骤,仅供参考哈,呵呵
剪纸装裱是在书画装裱的基础上发展而来的。它需要进行制糊、托心、托绫、托色纸、方心、下料、覆背、装天地杆等十多道工序才能完成。
首先介绍一下装裱剪纸所需工具及其作用:
1.工作案板:选用1.2米*2.4米优质高密度板,经刷油漆即可。但油漆的颜色应当避开白颜色和剪纸的颜色,要求板面平整、无裂痕。工作案子的高度0.8米*0.9米为好。
2.贴板:用于挣画,传统方法采取浆糊牛皮纸糊制。但为了方便可利用优质细木工板1.2米*2.4米,两面用夹宣糊平即可。
3.小盆4~5个,用于盛浆糊、洗粉等用。
4.过滤袋:用细布、透水性好的,如果工作量小的话,可以用纯白色的丝袜代用,用于过滤浆糊。
5.垫板:用装框裁下的剩余的胶合板边料,或平整木板,用于下料裁纸垫在纸的下方,好保护工作案板。或者用加厚玻璃也可,但是玻璃容易碎,危险,而且废刀片。
6.钢板尺,2米、1.5米、1米各一根,三角板一副。
7.铁夹2个或压铁2块,用于固定裁尺。
8.其它:喷壶、棕刷、浆刷、裁纸刀、针锥、放大镜、羊毛刷、钢卷尺、小镊子、钢锯、钳子、小铁锤、木锉、画叉、竹起子、砑石(大圆河卵石)、石蜡等各一即可。
具体操作
一.浆糊制作:剪纸装裱所需浆糊同书画装裱同理,也需要使用后达到裱件不瓦,日久无虫蛀,不脱层,这样就必须使用自制浆糊(合成浆糊、胶水、纤维素、化学性粘合剂等都不能满足上述条件,不可采用。)
1.去除面筋:选用小麦面粉适量,放入盆中,用冷水和面,与包水饺和面方法相同,和好后需要醒一会儿,半个小时以后,往盆里注入清水,将面反复揉洗,等面粉中淀粉被洗出,水中淀粉会越来越浓时,将其倒入另外一个干净的盆中。之后,继续往面盆里面加水反复揉洗,一直洗到清水中无淀粉时,洗出的面筋不要,将洗出的淀粉水中放入适量的矾水沉淀留用。次日,将盆中沉淀的淀粉上面的水慢慢倒出,剩下的就是我们所需要的淀粉。
2.制作浆糊:将洗好的淀粉中加入少量的矾水、花椒水(防蛀)和清水,然后将淀粉彻底搅拌起来,同时将干净的锅中放入清水并烧开,把溶解的淀粉倒入锅中,用木质的勺子反复搅动,并将炉火调低,以防烧糊,等锅内淀粉成浆糊状,变成透明时即可停火,盖上锅盖,待冷却后既成浆糊,就可以应用了。盆中剩余的淀粉,继续注入清水备用,每日换水以防变质(淀粉泡制时间:夏季三五天以上,冬季十天以上再用)。
二.浆糊调配:剪纸装裱前需要根据托锦绫、托画心、裱覆背所需不同浓度的浆糊分别进行调配,浆糊过稠会使裱件瓦撬变形,浆糊过稀又会使裱件重皮、开缝。
装裱用的浆糊,可分为稠浆糊、次稠浆糊、半流质浆糊和稀浆糊。稠浆糊是指未经调配的浆糊。次稠浆糊是在稠浆糊中加入少许清水,用于镶活。半流质浆糊是按1份浆糊加上2~3倍的水调制的,用于托裱锦绫。稀浆糊是按1份浆糊加上3~4倍水调制的,用于托色纸、托画心、托覆背用。
具体操作如下:
1.将泡制好的浆糊块捞入盆中加入温水,用手将浆糊块抓碎,然后用过滤袋(或丝袜)过滤并挤到另外一个盆中,可反复几次,根据裱件的需要加水或加浆糊使浆水达到您所需要的浓度即可。(待续)。
2.托锦绫
剪纸画轴装裱,首先应当把锦绫托好(因锦绫不易破碎好掌握,为以后装裱打基础)具体方法如下:
1)段锦绫:将锦绫按2米一段剪开,剪之前应在裁口处剪一小口,然后横向抽出一根丝,按抽丝的缝处剪开。
2)选托纸:常用托锦绫专用皮纸,规格有1米*2米、0.69米*1.38米两种,对初学者易用小张的,好操作,但能浪费一些。如果用小张的托纸,应当把纸的接口处裁直。选3张横用,并将托纸表面检查一遍有无杂质、漏洞,杂质除掉,漏洞补上,正面朝外卷成小卷备用。
3)抻锦绫:将锦绫放在案板上,正面朝下,锦绫的正面是花纹图案凸出的一面,用手铺平,并且注意四边与案板四边平行.然后用喷壶喷少量水,分别抻锦绫四个边使其与案板四边平行,并注意锦绫的横丝纵丝不要弯曲.可重复上述方法直到锦绫完全平直为止.
4) 刷浆糊:将调好的浆糊,用宽羊毛排刷先从锦绫中间横刷一下,以固定锦绫,再按米字方向分别排刷直到浆糊刷平.浆糊稠度以排刷不滞为好.待完全刷好以后,将排刷上的浆糊挤出,留少许,将刷毛在案板上压平,用刷进行光浆,按一顺方向将多余浆糊刮平.然后仔细检查锦绫面浆糊的均匀度,有无刷毛、杂质,如果有杂质请用镊子清除。
5) 上托纸:将卷好的托纸的一边与锦绫对齐,平放在锦绫上,用棕刷依次排刷,同时展放托纸,注意没有排到的纸卷不要挨到锦绫上,以免托纸遇到浆糊伸展变形,影响平整。第一张刷平后,第二张与第一张纸接缝处搭0.2厘米的借口,刷上浆糊覆平。用旧报纸铺在托好的锦绫上用棕刷排一遍,作用是吸取多余的水分,使托纸与锦绫吻合牢固。
6) 上撑子:用浆刷将锦绫四周刷上浆糊,并在一边放一块起子口纸,提起贴于贴板上,将四周边缘排实,然后顺起子口往里吹气,使锦绫与贴板分开,用棕刷扇风,检查四边是否贴牢,中间应当鼓起。在板上应当放五至六天后才可以取下使用。
3.托剪纸画心
剪纸装裱首先应要求剪纸所用的纸张。用普通色纸剪纸存在两个问题:其一,由于普通色纸的颜色是后刷上的,所以容易掉色,装裱时跑色,影响装裱效果;其二,由于普通色纸是机制的即所为的洋纸,保存寿命短,几十年就会脆裂,这就失去了艺术品的价值。
剪纸装裱应选用不褪色的纯手工操制的色宣,这种色宣的颜色是渗透到纸张里面的,年久只能将浮色跑掉,但是可以保留其本色。因此,这种纸裱的剪纸作品可以长期保存。
装裱前应对剪纸作品铺平如有褶皱用熨斗烫平备用。
选一张大于剪纸的生宣纸,如需要裱带颜色底的,可选用色宣纸,将纸铺于工作案板上,用喷壶喷上少许水抻平,将稀浆糊按照米字方向均匀刷于纸上,刷完后在用浆刷将纸面光一次浆。在案板另一处,将剪纸作品(初学者应当选用小幅作品,剪纸线条粗些的为好。)正面朝向案板铺平,用放大镜仔细检查有无褶皱、剪断、缺损、杂质等,并修正处理好。接着用喷壶喷特少的水,将剪纸抻平。可反复喷反复铺平,直至剪纸全部与案板贴平。这时刷好浆糊的生宣纸浆糊以失去部分水分。将其提起覆于剪纸上,用棕刷将纸排刷一遍,使其与剪纸全部贴合,之后用报纸覆于该纸上用棕刷排一遍,吸其水分。吸完水分将宣纸的四边刷一公分的浆糊,放上起子口纸,粘于贴板上,从起子口吹些气以防粘板和崩画,在板上待五天以上,晾干。用起子取下等待进行下项工作。
4.方画心、下料
待画心完全干后,就该取下,如取过早画心未干透,画心下板后会收缩变形,影响镶活、覆背、而且能造成画轴变型。起画心的方法是用竹起子从起子口伸到画与画板的空隙中,注意不要伤到画心,由里向外沿着一边裁开,再从相邻边裁开,两个边裁开后用手从裁开的对角往后面揭,把另外两边揭下,手一定用力要轻试着揭不要把画揭坏。
方画心:画心正面朝上,选择一个使画面方正的边用直尺对齐裁下一边,然后沿直边对折将相的边用针扎眼,伸展后两针眼用直尺对齐裁下另一边,,再将裁好的两条边对齐,在未裁的两个边分别用针扎孔,然后分别裁出其它两个边,这样画心方好。
裁锦绫
裁边首先要确定锦绫的花纹的方向,使整幅画的花纹朝一个方向。裁剪时分别在料后面做出标记,裁两边锦绫一般宽度取4-6公分为好。习惯是大画小边小画大边。锦绫的颜色也应当注意,要按黑白灰搭配的原则,即剪纸、衬纸、边绫要达到黑白灰的对比。边条的具体尺码是;所裱画轴的宽度减去画心宽度除2,高度是画心高度加15毫米。天头(画轴上部),地头(画轴下部),宽度按所要裱轴的宽度,高度是整幅画的高度减去画心的高度,天取百分之六十,地取百分之四十。所谓的天高地厚。
裁距条
将色纸(托好的色宣,托裱方法同裱画心,用一张四尺色纸后面托上一张四尺生宣纸,选用纸的颜色要与所裱的作品相配)裁成0.8厘米宽的,长度与画心周长够用即可。距条的作用是用来美化画的,一幅画配上合适颜色的距条对提醒和突出画很有作用。再者年久之后锦绫破碎需要揭裱可以从距条处裁下,然后进行揭裱,从而起到保护画心的作用。
裁天地串纸
天地串纸即包天地杆的纸,宽度与画轴同宽,高度,天串取5公分,地串取12公分。用夹宣裁出。
宣复背纸
复背纸按画轴的大小四边加5公分用夹宣纸裁好。
其它附件;
天杆包头用锦绫边角料,裁出3公分正方2块。
地杆包头(纸地杆)用锦绫边角料裁出4公分宽,12公分长2块。
签纸;选用一张仿古生宣纸裁2公分宽,画轴1/2宽为长度裁好备用。签纸的作用是画轴裱好后,画卷起来外露部分正好是签条的位置,用于签写本画轴的内容、作者等。
裁角袢;角袢用锦绫边角料裁出2公分宽15公分长4块,一头可剪成斜角或云头型。
这样一幅剪纸作品就算得到较长期的保存资格了。