javascript 图片360旋转

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


ImageRotation
#demo { cursor:pointer; position:absolute;filter:progid:DXImageTransform.Microsoft.Matrix(sizingmethod="auto expand");}


var Img = function() { var T$ = function(id) { return document.getElementById(id); } var ua = navigator.userAgent, isIE = /msie/i.test(ua) && !window.opera; var i = 0, sinDeg = 0, cosDeg = 0, timer = null ; var rotate = function(target, degree) { target = T$(target); var orginW = target.clientWidth, orginH = target.clientHeight; clearInterval(timer); function run(angle) { if (isIE) { // IE cosDeg = Math.cos(angle * Math.PI / 180); sinDeg = Math.sin(angle * Math.PI / 180); with(target.filters.item(0)) { M11 = M22 = cosDeg; M12 = -(M21 = sinDeg); } target.style.top = (orginH - target.offsetHeight) / 2 + 'px'; target.style.left = (orginW - target.offsetWidth) / 2 + 'px'; } else if (target.style.MozTransform !== undefined) { // Mozilla target.style.MozTransform = 'rotate(' + angle + 'deg)'; } else if (target.style.OTransform !== undefined) { // Opera target.style.OTransform = 'rotate(' + angle + 'deg)'; } else if (target.style.webkitTransform !== undefined) { // Chrome Safari target.style.webkitTransform = 'rotate(' + angle + 'deg)'; } else { target.style.transform = "rotate(" + angle + "deg)"; } } timer = setInterval(function() { i += 10; run(i); if (i > degree - 1) { i = 0; clearInterval(timer); } }, 10); } return {rotate: rotate} }(); window.onload = function() { Img.rotate('demo', 360); document.getElementById('demo').onclick = function() { Img.rotate('demo', 360); } }

这是在网上找的一段代码,完全不明白,谁能讲解一下它的原理,以及上面的代码,谢谢了

3个回答

[quote]return {rotate: rotate} //返回对像{rotate:rotate}
这个返回干什么的?
[/quote]

这样就可以

Img.rotate('demo', 360);

Img = function(){
return { rotate:function(){}}
}();

就是相当于
var Img = {
rotate : function(){}
};

你贴的代码那样写是为了防止内部函数(或变量)被外面使用,实现闭包的效果

setInterval(function(){},interval)
先说这个,这个是定时执行
这里定时执行run这个方法,参数的意思是转动的角度
cosDeg = Math.cos(angle * Math.PI / 180);
sinDeg = Math.sin(angle * Math.PI / 180);
with(target.filters.item(0)) {
M11 = M22 = cosDeg; M12 = -(M21 = sinDeg);
}
这里M11、M12、M21、M22分别为长方形图片的4个点
然后定时器,定时取旋转

模拟圆形旋转
sin为数学的正弦函数
cos为数学的余弦函数

[code="html"]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


ImageRotation
#demo { cursor:pointer; position:absolute;filter:progid:DXImageTransform.Microsoft.Matrix(sizingmethod="auto expand");}


var Img = function() { var T$ = function(id) { return document.getElementById(id); } //接下来的代码只要T$("demo"),就相当于document.getElementById("demo") var ua = navigator.userAgent, isIE = /msie/i.test(ua) && !window.opera; //判断是否IE var i = 0, sinDeg = 0, cosDeg = 0, timer = null ; var rotate = function(target, degree) { //定义对目标的转到度数 target = T$(target); var orginW = target.clientWidth, orginH = target.clientHeight; clearInterval(timer); function run(angle) { //执行旋转的角度 if (isIE) { // IE 浏览器进行的旋转,IE不提供transform,所以得自己计算位置 cosDeg = Math.cos(angle * Math.PI / 180); sinDeg = Math.sin(angle * Math.PI / 180); with(target.filters.item(0)) { M11 = M22 = cosDeg; M12 = -(M21 = sinDeg); } target.style.top = (orginH - target.offsetHeight) / 2 + 'px'; target.style.left = (orginW - target.offsetWidth) / 2 + 'px'; } else if (target.style.MozTransform !== undefined) { // Mozilla firefox这类浏览器进行的旋转 target.style.MozTransform = 'rotate(' + angle + 'deg)'; } else if (target.style.OTransform !== undefined) { // Opera Opera这类浏览器进行的旋转 target.style.OTransform = 'rotate(' + angle + 'deg)'; } else if (target.style.webkitTransform !== undefined) { // Chrome Safari 这类浏览器进行的旋转 target.style.webkitTransform = 'rotate(' + angle + 'deg)'; } else { target.style.transform = "rotate(" + angle + "deg)"; //其他类浏览器进行的旋转 } } timer = setInterval(function() { i += 10; run(i); if (i > degree - 1) { i = 0; clearInterval(timer); } }, 10); //每隔10MS执行一次旋转,角度的变化每执行一次添加10度,当i>degree-1时停止旋转 } return {rotate: rotate} //返回对像{rotate:rotate} }(); //定义Img函数,并立即执行该函数,执行结果后就是返回对像{rotate:rotate} window.onload = function() { Img.rotate('demo', 360); //代码载入完后就执行旋转 document.getElementById('demo').onclick = function() { //点击图片 后就进行旋转 Img.rotate('demo', 360); } }


[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
图片缩放旋转控制效果

![图片说明](https://img-ask.csdn.net/upload/201807/27/1532670142_73059.jpg) canvas 图中的效果,可以缩放,旋转 重点是 图中被选择的小图片 左上 和 右下的 控制图标,请问JS或JQ怎么实现? 思路也好啊,非常感谢

用javascript刷新图片

想用js实现 每二十秒刷新一张图片 一开始用for语句 但它不是一张一张出来 太苦恼了 不知道各位可否帮帮我 小白一个 求助啊~~~

js 实现图片的旋转 结合css3的属性transform

我想在IE9下实现点击按钮进行图片的翻转,之前使用了滤镜,但有一个问题,图片在旋转时不是以图片中心为定点进行旋转,在网上查了css3的一个属性transform 可以实现以中心点进行旋转,但试了好多,都没实现,下面是滤镜实现代码: /** * 图片旋转 * @param id 图片id * @param angle 旋转度数 * @param whence 旋转方向、从何处开始旋转 */ rotate : function(id,angle,whence) { var p = document.getElementById(id); if (!whence) { p.angle = ((p.angle==undefined?0:p.angle) + angle) % 360; } else { p.angle = angle; } if (p.angle >= 0) { var rotation = Math.PI * p.angle / 180; } else { var rotation = Math.PI * (360+p.angle) / 180; } var costheta = Math.cos(rotation); var sintheta = Math.sin(rotation); if (document.all && !window.opera) { var canvas = document.createElement('img'); canvas.src = p.src; canvas.height = p.height; canvas.width = p.width; canvas.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11="+costheta+",M12="+(-sintheta)+",M21="+sintheta+",M22="+costheta+",SizingMethod='auto expand')"; } else { var canvas = document.createElement('canvas'); if (!p.oImage) { canvas.oImage = new Image(); canvas.oImage.src = p.src; } else { canvas.oImage = p.oImage; } canvas.style.width = canvas.width = Math.abs(costheta*canvas.oImage.width) + Math.abs(sintheta*canvas.oImage.height); canvas.style.height = canvas.height = Math.abs(costheta*canvas.oImage.height) + Math.abs(sintheta*canvas.oImage.width); var context = canvas.getContext('2d'); context.save(); if (rotation <= Math.PI/2) { context.translate(sintheta*canvas.oImage.height,0); } else if (rotation <= Math.PI) { context.translate(canvas.width,-costheta*canvas.oImage.height); } else if (rotation <= 1.5*Math.PI) { context.translate(-costheta*canvas.oImage.width,canvas.height); } else { context.translate(0,-sintheta*canvas.oImage.width); } context.rotate(rotation); context.drawImage(canvas.oImage, 0, 0, canvas.oImage.width, canvas.oImage.height); context.restore(); } canvas.id = p.id; canvas.onmousewheel = p.onmousewheel; canvas.angle = p.angle; p.parentNode.replaceChild(canvas, p); }, ------------------------------------------------------------ 在css样式中: #imgDiv{ -ms-transform:rotate(90deg); /* IE 9 */ } 这样可以实现旋转, 但我想使用js进行动态左右旋转,求大神们赐教!谢谢

canvas 中怎么对旋转过的图片进行部分截取显示。

现在遇到这样一个问题。先上代码 **var xpos = 300; var ypos = 200; ctx.save(); ctx.translate(xpos, ypos); ctx.rotate( Math.PI / 12); ctx.translate(-xpos, -ypos); ctx.drawImage(myImage, 0 ,0 ,30,30,xpos - myImage.width / 2, ypos - myImage.height / 2,50,50); ctx.restore();** 我用的图片大小是50*50的现在想实现的效果是把这张图片旋转30度以后,在旋转好的图片上截取0到30的距离然后再显示出来。但是上面这段代码是先把图片截取0-30的部分然后才旋转30。不是我想实现的效果。 如果实现我想要的效果应该怎么做。请不要用把这张图片画在一个30*30的canvas上然后把这个canvas转化成图片的src这种方式来实现。这种方式的效率太低了。我要频繁的进行操作。哪位大神能帮帮忙

给图片设置坐标,旋转后,怎么让坐标值跟着一起旋转?

点击图片,在当前位置加上一个相对于图片的坐标点,我是相对于屏幕加的,如果要旋转或者放大图片的话,坐标点位置不会改变,坐标点的值也不会随着图片的旋转和放大变化。 怎么能改变这个bug?让图片上的坐标跟随者图片转动,并且坐标值也会随图片的比例改变相应的值? js代码 和 图片效果 ``` $('#canvas')[0].onclick = function (e) { var x = (e || window.event).clientX + scrollX, // 鼠标的X位置 y = (e || window.event).clientY + scrollY, //鼠标的Y位置 imgX = $('#canvas')[0].offsetLeft + 20, // 图片距离左边的位置 imgY = $('#canvas')[0].offsetTop + 20, // 图片距离右边的位置 imgW = $('#canvas')[0].offsetWidth, // 图片的宽度 imgH = $('#canvas')[0].offsetHeight; // 图片的高度 var pointY = y - imgY, // 点的Y坐标 pointX = x - imgX; // 点的X坐标 var inkDiv = document.createElement('div'); inkDiv.className = 'ink'; $('#info')[0].appendChild(inkDiv); if (x >= imgX && x <= imgX + imgW) { inkDiv.style.display = 'block'; inkDiv.style.top = (y - 25) + 'px'; inkDiv.style.left = (x - 17) + 'px'; inkDiv.innerHTML = 'w:' + pointX + ' h:' + pointY; var pointDiv = document.createElement('div'); pointDiv.className = 'point'; pointDiv.style.top = (inkDiv.offsetHeight + 6) + 'px'; inkDiv.appendChild(pointDiv); var closeSpan = document.createElement('span'); closeSpan.className = 'close'; closeSpan.innerText = '×'; closeSpan.style.left = (inkDiv.offsetWidth - 5) + 'px'; inkDiv.appendChild(closeSpan); } var closes = document.getElementsByClassName('close'); for (var i = 0; i < closes.length; i++) { var index = i; closes[i].onclick = function () { this.parentNode.remove(); } } var inks = document.getElementsByClassName('ink'); var zIndex = 10; for (var i = 0; i < inks.length; i++) { inks[i].onclick = function () { zIndex++; this.style.zIndex = zIndex; } } } ``` ![图片说明](https://img-ask.csdn.net/upload/201709/05/1504579427_406720.png) ![图片说明](https://img-ask.csdn.net/upload/201709/05/1504579437_418093.png)

javascript图片流问题

我有一个 ``` <div id="myDiv"> ``` 现在想用js或是jQuery通过远程下载一幅图片设为该div的背景 怎么做?求指教~ //图片大小1M 1920*1200

在利用Jquery的animate使图片旋转时animate无效

我跟着慕课网上的一个教程学习,学习利用Jquery做图片旋转。 我做transform的时候,div发生了旋转,然而当我把transform换成animate的时候没有效果。 老师视频里面的animate发生了旋转。 我也不知道我错在了什么地方,查了很久。只能上来寻求帮助了。先谢谢大家了。 ``` <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="test.css"> </head> <body> <div id="test1"></div> </div> <script src="jquery-2.2.2.min.js"></script> <script src="jquery.transform-0.9.3.min.js"></script> <script src="test.js"></script> </body> </html> ``` #test1{ width:100px; height:300px; background: black; } ``` $(function(){ //$("#test1").transform({rotate:"60deg"}); $("#test1").animate({rotate:"60deg"}); }); ```

360浏览器兼容模式问题

我写的js 在360浏览器兼容模式下不显示,在极速模式下显示正常,所以我想强制360浏览器的用户浏览我的网站的时候只能使用极速模式而不能使用兼容模式,类似360浏览器主页那样的功能,要怎么实现。。

javascript如何解析base64图片数据 并且将图片显示在网页中

最好是有详细的javascript解析base64的源代码(本人初学者请见谅),显示这一块儿 怎么获取javascript解析好的图片 麻烦各位大神了 急!急!急!

新人求解,javascript图片移动问题

![图片说明](https://img-ask.csdn.net/upload/201511/25/1448436988_219196.png) 问题都写在图片里面了, 偶是大二学生,别讲的太深奥······ 万分感谢兄弟姐妹们~~~

只用javascript实现图片轮换

只用js实现图片轮换的时候如何做好下面小图的位置改变,实现顺序播放呢?

html+javascript图片轮播的问题

``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>轮播</title> <style> body,div,ul,li,a,img{margin: 0;padding: 0;} ul,li{list-style: none;} #banner{width: 50em;height: 23em;position: absolute;left: 18em;margin: 10px auto;overflow: hidden;} .imglist{width: 250em;position: absolute;} #banner img{width: 50em;height:23em;float: left;} .infolist{position: absolute;bottom: 1em;left: 20em;} .infolist li{width: 10px;height: 10px;border-radius: 5px;background: white;float: left;margin-left: 1em;cursor: pointer;} .infolist .cur{background: red;} </style> </head> <body> <div id="banner"> <ul class="imglist"> <li><a href=""><img src="./image/img1.jpg" alt=""></a></li> <li><a href=""><img src="./image/img2.jpg" alt=""></a></li> <li><a href=""><img src="./image/img1.jpg" alt=""></a></li> <li><a href=""><img src="./image/img3.jpg" alt=""></a></li> <li><a href=""><img src="./image/img2.jpg" alt=""></a></li> </ul> <ul class="infolist"> <li class="cur"></li> <li class=""></li> <li class=""></li> <li class=""></li> <li class=""></li> </ul> </div> <script> var banner=document.getElementById('banner'); var uls=document.getElementsByTagName('ul'); var imgs=uls[0].getElementsByTagName('li'); var btn=uls[1].getElementsByTagName('li'); var i=index=0; var play=null; console.log(uls,imgs,btn); /*window.onload=function(){ uls[0].style.left=-100+'em'; } */ function show(a){//将按钮与图片关联 for(i=0;i<btn.length;i++){ btn[i].className=""; btn[a].className="cur"; } for(i=0;i<imgs.length;i++){ uls[0].style.left=-a*50+'em'; } //console.log(a); } for(i=0;i<btn.length;i++){//鼠标事件 btn[i].index=i; btn[i].onmouseover=function(){ show(this.index); } } function autoplay(){//自动播放方法 play=setInterval(function(){ index++; index>=btn.length&&(index=0); show(index); },2500); } autoplay(); banner.onmouseover=function(){//鼠标移入事件 clearInterval(play); }; btn.onmouseover=function(){ clearInterval(play); }; banner.onmouseout=function(){//鼠标移出事件 autoplay(); }; </script> </body> </html> ``` btn[i].onmouseover触发后btn[i].index如何传到自动播放方法的index里?

360急速浏览器怎么在页面关闭的时候执行一段js代码?

window.onbeforeunload = onbeforeunload_handler; function onbeforeunload_handler(){ alert("确认退出?"); return warning; } 这段代码在IE可能可以使用,但是在360急速浏览器不能使用? 谁写段可以在360急速浏览器使用的代码?

怎样用JavaScript实现音频播放的控制

如何使用JS实现 按住鼠标(或按住触屏)时播放音频,松开停止? 就是类似微信跳一跳那种,注意不是点击鼠标播放,而是按住鼠标 谢谢

javascript动态添加图片层为什么总是显示的最后一个图片?

<html> <head> <title></title> <style type="text/css"> .divStyle { position:absolute; top:window.event.clientY; left:window.event.clientX; height:150px; width:600px; border-style:solid; border-width:thin; border-color:Blue; } </style> <script type="text/javascript"> function backGround() { var Date = { "images/001small.jpg": "['images/001medium.jpg','images/001.jpg']", "images/002small.gif": "['images/002medium.jpg','images/002.gif']", "images/003small.jpg": "['images/003medium.jpg','images/003.jpg']" }; var divImg = document.createElement("div"); // var img = document.createElement("img"); divImg.className = "divStyle"; for (var key in Date) { divImg.innerHTML = "<img src="+key+" />";//问题就出现在这里了。。。 } document.body.appendChild(divImg); } </script> </head> <body> <a href="javascript:backGround()">背景</a> </body> </html>

前端js 如何实现将一个轮盘旋转随机的角度?

##前端js 如何实现将一个轮盘旋转随机的角度? 问题描述:我想要做一个圆盘,如下图: ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572268115_94999.png),每个切片角度对应不同的值。想做出像抽奖一样的效果。随机角度旋转,最后选出对应切片的编号。如图中有10个切片,则选出10个编号。 ###请问如何实现这种效果,如果可以给出详细的思路就更好了。提前谢谢大家!

JavaScript 如何在arcgis地图上画一个面并保存为图片

求大神,在arcgis地图上画一个长方形面,如何把这个面保存成为一张图片

JavaScript 表格 排序问题

![图片说明](https://img-ask.csdn.net/upload/201505/12/1431400346_200775.png) 用JavaScript在HTML界面上输出了一个表格,如图所示。现在的想法是单击“Life”单元格,可以实现对表格的排序,“life”一列的数据不止两个,还有很多。不知道这样的程序应该怎样写?现在把鼠标放到“Life”上面时,不能实现单击。

js里鼠标移到图片上图片随着鼠标放大

先贴出来代码 ![图片说明](https://img-ask.csdn.net/upload/201607/13/1468399881_224203.png) ![图片说明](https://img-ask.csdn.net/upload/201607/13/1468399897_893571.png) 一开始我用的是 onload = JavaScript:imgQuery() ,结果鼠标移动到图片上就出现放大后的两张图片,一张在移动的,一张不动。 然后我换成 onmouseover = JavaScript:imgQuery(),结果第一次鼠标移到图片上是正常的,就一张随着鼠标移动的图片,然后第二次就和onload一样的效果了。 最后我换成 onclick = JavaScript:imgQuery(),结果是鼠标左键点一下图片,然后鼠标拿开,重新移上去,正常显示。但是用户体验不好。不合情理。 我分析了一下:onload是页面加载完成后,这个事件一直在加载中,所以会出现两张图片。 onmouseover是鼠标移动触发事件(但是第一次就一张搞不懂),鼠标一直在移动,所有也不行。最后是onclick,这个是鼠标点击事件,因为鼠标不能一直处于点击状态,所有它会正常。 我想在点开查看详细的时候,鼠标移到图片上,图片会自动的跟随着鼠标放大。求大神指教,没有C币了,如果解决了,可以发红包答谢。

javascript 拼接字符串

![图片说明](https://img-ask.csdn.net/upload/201702/28/1488290159_162817.jpg)

程序员的兼职技能课

程序员的兼职技能课

为linux系统设计一个简单的二级文件系统

实验目的: 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 实验要求: 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条)

CCNA+HCNA+wireshark抓包综合网工技能提升套餐

本套餐包含思科路由交换CCNA,部分CCNP核心,华为HCNA以及wireshark抓包等类容,旨在培养具有综合能力的网络工程师。

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

成年人用得到的6款资源网站!各个都是宝藏,绝对让你大饱眼福!

不管是学习还是工作,我们都需要一些资源帮助我们有效地解决实际问题。 很多人找资源只知道上百度,但是你们知道吗,有的资源是百度也搜索不出来的,那么今天小编就给大家介绍几款好用的资源网站,大家赶紧收入囊中吧! 1.网盘007 https://wangpan007.com/ 一款全能的资源搜索网站!只需要输入关键字,就能获得你想要的视频、音乐、压缩包等各种资源,网上...

矿车轴载荷计算方法的比较及选用

针对矿车轴的弯曲损坏,分析了固定式矿车车轴的受力,并对力叠加法以及当量负荷法2种计算方法进行了分析和比较,认为应采用当量负荷法进行车轴的设计计算。

Python数据清洗实战入门

Python数据清洗实战入门

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Polar编码matlab程序

matlab实现的Polar codes源程序

2019全国大学生数学建模竞赛C题原版优秀论文

2019全国大学生数学建模竞赛C题原版优秀论文,PDF原版论文,不是图片合成的,是可编辑的文字版。共三篇。 C044.pdf C137.pdf C308.pdf

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

Linux下聊天室实现(基于C)

在linux下的基于TCP/IP,采用socket通信的聊天室,实现进入聊天室,进行多人群聊,指定人进行私聊,群主管理员功能,颗进行禁言,提出群聊等操作。个人账号可修改昵称或者修改密码,还可进行找回密

一个较完整的Qt用户登录界面设计

一个较完整的Qt用户登录界面,稍微移植可用,用sqlite数据库存储用户名和密码,具有增加和删除用户的功能,开发环境为ubuntu16.04+Qt5.6.1,win7下程序也编译可用。贡献出来,共同学

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

【C语言】贪吃蛇游戏代码(Visual C++6.0实现)

本游戏代码参考《C语言项目开发全程实录(第二版)》第六章。代码已在Visual C++6.0环境下编译测试通过,可在VC++6.0编译器中导入工程编译运行查看效果,或者也可以直接运行Release或D

Android小项目——新闻APP(源码)

Android小项目——新闻APP(源码),一个很简单的可以练手的Android Demo Ps:下载之前可以先看一下这篇文章——https://blog.csdn.net/qq_34149526/a

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

Android音视频开发全套

Android平台音视频开发全套,涉及:FFmpeg软解码解码、Mediacodec硬解码编码、Openssl音频播放、OpenGL ES视频渲染、RTMP推流等核心重要知识点。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

2019 Python开发者日-培训

2019 Python开发者日-培训

2019 AI开发者大会

2019 AI开发者大会

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

DirectX修复工具V4.0增强版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复

C++语言基础视频教程

C++语言基础视频教程

相关热词 c# 局部 截图 页面 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c# fir 滤波器 c# 和站 队列 c# txt 去空格 c#移除其他类事件 c# 自动截屏
立即提问