开拓条件安插,javascript达成带有子菜单和控件的轮播图slider

福寿双全效益:

1:
offsetLeft、offsetTop、offsetHeight、offsetWidth

壹.下载和设置OpenCV SDK

 

 

VS2010不用说,分明都安装了吗。来讲说近期风行的OpenCV版本二.四.八(201四年十二月11日),2.4.9(201四年1月)的下载和安装。与其说是安装,不及叫解压尤其合适,因为我们下载的exe安装文件正是3个自解压程序而已。

澳门葡京 1

在官网:上找到OpenCV
windows版下载下来。澳门葡京 2

下载完后获得文件OpenCV
二.四.X,双击后会提示解压到有些地点,推荐放到D:\Program
Files\下,比如D:\Program
Files,(因为OpenCV项目文件打包的时候,根目录正是opencv,所以大家无需非凡的新建一个名称叫opencv的文书夹,然后再解压,那是见怪不怪的专业)然后点击Extract开关。

澳门葡京 3

等1段时间,OpenCV二.四.八近一个多G的文本就解压到了D:\Program
Files下。

澳门葡京 4

澳门葡京 5

  • style=”font-size: 1陆px; font-family: "Microsoft YaHei"”> style=”font-size: 1八px”>壹.一 偏移参照——定位父级offsetParent

    style=”font-size: 1六px; font-family: "Microsoft YaHei"”> style=”font-size: 18px”>    style=”font-size: 1陆px; color: #ff0000″>
    offsetParent的定义是:与当前因素方今的经过一定(position不等于static)的父级成分

    style=”font-size: 1陆px; font-family: "Microsoft YaHei"”>  要清楚offsetLeft、offsetTop、offsetHeight、offsetWidth
    , 它们都以相对于offsetParent总结, style=”font-family: "Microsoft YaHei"; font-size: 1六px; line-height: 一.5; background-color: initial”>首要分为下列三种状态

    1. style=”font-family: "Microsoft YaHei"; font-size: 1陆px”>成分本身有fixed定位,offsetParent的结果为null
      ;  style=”line-height: 一.5″>当成分自个儿有fixed固定定位 style=”line-height: 一.伍”>时, style=”line-height: 一.5″>我们知晓固定定位的成分绝对于视口进行固化, style=”line-height: 壹.伍”>此时从未一向父级,offsetParent的结果为null ;  style=”color: #ff0000″>备注:[注意]firefox浏览器有包容性难点,重回<body> style=”font-family: "Microsoft YaHei"; font-size: 16px”>    
    2. style=”color: #ff0000; font-size: 1陆px; font-family: "Microsoft YaHei"”> style=”color: #000000″>成分本身无fixed定位,且父级成分都未通过一定,offsetParent的结果为<body>
    3. style=”color: #ff0000; font-size: 1陆px; font-family: "Microsoft YaHei"”> style=”color: #000000″>成分自己无fixed定位,且父级成分存在经过一定的因素,offsetParent的结果为离自个儿因素目前的经过一定的父级成分
    4. style=”color: #ff0000; font-size: 16px; font-family: "Microsoft YaHei"”> style=”color: #000000″><body>元素的parentNode是null

    style=”color: #ff0000; font-size: 16px; font-family: "Microsoft YaHei"”> style=”color: #000000″>  

  • style=”font-family: "Microsoft YaHei"; font-size: 16px”> style=”color: #ff0000″>一.二总计方法见图:

    style=”color: #ff0000; font-size: 16px; font-family: "Microsoft YaHei"”> style=”color: #000000″>  澳门葡京 6

    style=”font-size: 1陆px; font-family: "Microsoft YaHei"”>  
     备注: style=”color: #ff0000″> style=”font-family: "Microsoft YaHei"; font-size: 1陆px; line-height: 一.伍; background-color: initial”>借使存在垂直 style=”color: #ff0000″>滚动条 style=”font-family: "Microsoft YaHei"; font-size: 16px; line-height: 壹.5; background-color: initial”>,offsetWidth也席卷垂直滚动条的大幅度; style=”font-family: "Microsoft YaHei"; font-size: 1陆px; line-height: 壹.5; background-color: initial”>假诺存在水平滚动条,offsetHeight也包括水平滚动条的冲天

 

  • ### 1.三注意事项

    style=”font-family: "Microsoft YaHei"; font-size: 1陆px”>  【1】全体偏移量属性都以只读的

    style=”font-family: "Microsoft YaHei"; font-size: 1陆px”>  【2】若是给成分设置了display:none,则它的偏移量属性都为0

    style=”font-family: "Microsoft YaHei"; font-size: 1陆px”>  【3】每回访问偏移量属性都亟待再度总括(制止再一次访问这一个属性。假使急需再行访问,则把它们的值保存在变量中,以抓好质量。)

 

 个中,build里面是行使OpenCV相关的文件,大家只要只是利用OpenCV的话呢,就只用管build里面包车型客车开始和结果。上面包车型地铁sources文件夹你嫌烦,你嫌占硬盘空间,完全能够删掉。可是急需注意的是,官方示例集,也正是samples文件夹里面包车型大巴以身作则程序,在sources文件夹里面躺着吗,所以,假使真是要删的话,依然想清楚哦。

兑现原理:

 

sources里面是源代码。能够直接查看。怎样生成sln消除方案浅墨在那篇博文中有详尽讲到:

style=”font-size: 15px; font-family: "Microsoft YaHei"”>//
步骤
style=”font-size: 15px; font-family: "Microsoft YaHei"”> //

  1. 获取事件源以及相关因素
    style=”font-size: 15px; font-family: "Microsoft YaHei"”> //
  2. 复制第1张图片所在的li,增添到ul的末段面
    style=”font-size: 15px; font-family: "Microsoft YaHei"”> //
  3. 给ol加多li,ul中的个数-三个,并点亮第一个按键
    style=”font-size: 15px; font-family: "Microsoft YaHei"”> //
  4. 鼠标放到ol的li上切换图片
    style=”font-size: 15px; font-family: "Microsoft YaHei"”> //
  5. 加多沙漏
    style=”font-size: 15px; font-family: "Microsoft YaHei"”> //
  6. 反正切换图片(鼠标放上去隐藏,移开呈现)

 

 【OpenCV入门教程之7】 玩转OpenCV源代码:生成OpenCV工程化解方案与OpenCV源码编写翻译

 

 

兑当代码:

2:clientHeightclientWidth、clientTop、clientLeft**

开拓条件安插,javascript达成带有子菜单和控件的轮播图slider。二.安排景况变量

 

  

 

那步的布署格局如下:

【Computer】->【(右键)属性】->【高端系统装置】->【高端(标签)】->【遭受变量】->“双击”系统变量中的PATH->在变量值里面增多相应的门径。如图:

<1>

澳门葡京 7

<2>

澳门葡京 8

<3>

澳门葡京 9

<4>

澳门葡京 10

<5>

澳门葡京 11

 

对于32位系统,就添加:

”;……
opencv\build\x86\vc10\bin”(和从前的就有局地意况变量用英文的分集团“;”进行分隔)

 

而对于61个人系统,能够七个都增多上:

”;……
opencv\build\x86\vc10\bin”

和”……
opencv\build\x64\vc10\bin”,

如此,到时候才能够在编写翻译器Win3二和X6四中来回切换都吃得开,轻车熟路~

 

譬如说,浅墨的正是

D:\Program
Files\opencv\build\x64\vc10\bin;D:\Program
Files\opencv\build\x86\vc10\bin

 

 PS:有童鞋亲测说6三个人系统也只需加上”……
opencv\build\x86\vc10\bin”就能够,我们不妨1试。

 

注:变量值实际为bin文件夹的路线;D表示OpenCV安装于D盘;X6④表示运维系统情况位陆玖个人系统,若安装于30个人系统,应为X八六;vc拾意味着编写翻译情状为Microsoft
Visual Studio 2010;变量增添落成后最棒注销系统,才会收效。

 

 

 

 

 

<!DOCTYPE html>
<html>
<head>
 <title>轮播图</title>
 <meta charset="utf-8">
 <style type="text/css">
  *{
   padding: 0;
   margin: 0;
   list-style: none;
   border: 0;
  }
  .all{
   width: 500px;
   height: 200px;
   padding: 7px;
   margin: 100px auto;
   position: relative;
   box-shadow: 1px 1px 5px #2d2d2d;
  }
  .screen{
   width: 500px;
   height: 200px;
   overflow: hidden;
   position: relative;
  }
  .screen li{
   width: 500px;
   height: 200px;
   overflow: hidden;
   float: left;
  }
  .screen ul{
   position: absolute;
   left: 0;
   top: 0;
   width: 3000px;
  }
  .all ol{
   position: absolute;
   right: 10px;
   bottom: 10px;
   line-height: 20px;
   text-align: center;
  }
  .all ol li{
   float: left;
   width: 20px;
   height: 20px;
   text-align: center;
   background-color: #fff;
   border: 1px solid #ccc;
   margin-left: 10px;
   cursor: pointer;
  }
  .all ol li.current{
   background-color: #03c03c;
  }
  #arr{
   display: none;
  }
  #arr span{
   width: 40px;
   height: 40px;
   left: 5px;
   top: 50%;
   position: absolute;
   margin-top: -20px;
   background-color: #000;
   cursor: pointer;
   line-height: 35px;
   text-align: center;
   font-weight: bold;
   font-family: "微软雅黑";
   font-size: 30px;
   color: #fff;
   opacity: 0.3;
   border-radius: 50%;
   box-shadow: 1px 1px 3px #2d2d2d;
  }
  #arr #right{
   right: 5px;
   left: auto;
  }
 </style>
</head>
<body>
<div class="all" id="all">
 <div class="screen" id="screen">
  <ul id="ul">
   <li><img src="./images/01.jpg" width="500" height="200"></li>
   <li><img src="./images/02.jpg" width="500" height="200"></li>
   <li><img src="./images/03.jpg" width="500" height="200"></li>
   <li><img src="./images/04.jpg" width="500" height="200"></li>
   <li><img src="./images/05.jpg" width="500" height="200"></li>
  </ul>
  <!-- 图片子菜单 -->
  <ol>

  </ol>
  <!-- 左右切换按钮 -->
  <div id="arr">
   <
   >
  </div>
 </div>
</div>

<!-- script -->
<script type="text/javascript">
 // 赋值第一张图片放到ul的最后,当图片切换到第五张的时候,直接切换第六张,再从第一张切换到第二张的时候先瞬间切换到第一张图片,然后滑倒第二张

 // 步骤
 // 1. 获取事件源以及相关元素
 // 2. 复制第一张图片所在的li,添加到ul的最后面
 // 3. 给ol添加li,ul中的个数-1个,并点亮第一个按钮
 // 4. 鼠标放到ol的li上切换图片
 // 5. 添加定时器
 // 6. 左右切换图片(鼠标放上去隐藏,移开显示)

 // 1. 获取事件源以及相关元素
 var all = document.getElementById("all");
 var screen = all.firstElementChild || all.firstChild;
 var imgWidth = screen.offsetWidth;
 var ul = screen.firstElementChild || screen.firstChild;
 var ol = screen.children[1];
 var div = screen.lastElementChild || screen.lastChild;
 var spanArr = div.children;

 // 2. 复制第一张图片所在的li,添加到ul的最后面
 var ulNewLi = ul.children[0].cloneNode(true);
 ul.appendChild(ulNewLi);

 // 3. 给ol添加li,ul中的个数-1个,并点亮第一个按钮
 for(var i=0; i<ul.children.length-1; i++){
  var olNewLi = document.createElement("li");
  olNewLi.innerHTML = i+1;
  ol.appendChild(olNewLi);
 } 
 var olLiArr = ol.children;
 olLiArr[0].className = "current";

 // 4. 鼠标放到ol的li上切换图片
 for(var i=0; i<olLiArr.length; i++){
  // 自定义属性,把索引值绑定到元素的index属性上
  olLiArr[i].index = i;
  olLiArr[i].onmouseover = function(){
   // 排他思想
   for(var j=0; j<olLiArr.length; j++){
    olLiArr[j].className = "";
   }
   this.className = "current"
   // 鼠标放到小方块上时,索引值和key以及square同步
   // key = this.index;
   // square = this.index;
   key = square = this.index;
   // 移动盒子
   animate(ul, -this.index*imgWidth);
  }
 }

 // 5. 添加定时器
 var timer = setInterval(autoPlay, 1000);

 // 固定向右切换图片
 // 两个定时器(一个记录图片,一个记录子菜单栏)
 var key = 0;
 var square = 0;
 function autoPlay(){
  // 通过key的自增来模拟图片的索引值,然后移动ul
  key++;
  if(key > olLiArr.length){
   // 图片已经滑到最后一张,接下来应该跳转到第一张,然后滑动到第二张
   ul.style.left = 0;
   key = 1;
  }
  animate(ul, -key*imgWidth);
  // 通过控制square的自增来模拟小方块的索引值,然后点亮盒子
  // 排他思想做小方块
  square++;
  if(square > olLiArr.length-1){
   // 索引值不能大于5,如果大于5则立即变为0;
   square = 0;
  }
  for(var i=0; i<olLiArr.length; i++){
   olLiArr[i].className = "";
  }
  olLiArr[square].className = "current";
 }

 // 鼠标放上去清除定时器,移开启动定时器
 all.onmouseover = function(){
  div.style.display = "block";
  clearInterval(timer);
 }
 all.onmouseout = function(){
  div.style.display = "none";
  timer = setInterval(autoPlay,1000);
 }

 // 6. 左右切换图片(鼠标放上去显示,移开隐藏)
 spanArr[0].onclick = function(){
  // 通过控制key的自增来模拟图片的索引值,然后移动ul
  key--;
  if(key<0){
   // 先移到最后一张,然后key的值取前一张的索引值,然后向前移动
   ul.style.left = -imgWidth*(olLiArr.length) + "px";
   key = olLiArr.length-1;
  }
  animate(ul, -key*imgWidth);
  // 通过控制square的自增来模拟小方块的索引值,然后点亮小方块
  square--;
  if(square<0){
   // 索引值不能大于等于5,如果为5,立即变为0
   square = olLiArr.length-1;
  }
  for(var i=0; i<olLiArr.length; i++){
   olLiArr[i].className = "";
  }
  olLiArr[square].className = "current";
 }

 spanArr[1].onclick = function(){
  // 右侧的和定时器一模一样
  autoPlay();
 }

 // 动画封装
 var absSpeed = 10; //设定步长
 function animate(ele, target){
  clearInterval(ele.timer);
  var speed = target > ele.offsetLeft ? absSpeed : -absSpeed;
  ele.timer = setInterval(function(){
   var val = target - ele.offsetLeft;
   ele.style.left = ele.offsetLeft + speed + "px";
   if(Math.abs(val) < Math.abs(speed)){
    ele.style.left = target + "px";
    clearInterval(ele.timer);
   }
  }, 10)
 }
</script>
</body>
</html>

style=”color: #000000; font-size: 18pt; font-family: "Microsoft YaHei"”> style=”font-size: 16px”>可视区大小client又叫做可见大小或客户区大小,指的是因素内容及其内边距所占领的长空尺寸

   澳门葡京 12

 

 

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>2.1
  clientHeight

      clientHeight属性重返元晚秋点的可知中度

    clientHeight = padding-top + height + padding-bottom

style=”font-family: "Microsoft YaHei"; font-size: 16px”>  2.2
  clientWidth

      clientWidth属性重回成分节点的可见宽度

    clientWidth = padding-left + height + padding-right

     [注意]滚动条宽度不计算在内

     2.3   clientTop : 
    返回上边框的宽度

     2.4   clientLeft : 
    返回左边框的宽度

     2.5 注意事项 :
   【1】所有可视区client属性都是只读的
   【2】如果给元素设置了display:none,则可视区client属性都为0
   【3】每次访问可视区client属性都需要重新计算

三.工程分包(include)目录的铺排

 

 

事先看过的浩大博文都说“每回新建工程都要重新配置”,其实不用这么麻烦的。

率先是在Visual
Studio里面新建2个调整台应用程序,最佳是勾好空项目极度勾。

(思考到看那篇博文的童鞋很少接触vs,那么浅墨在此处将经过详细截图出来——浅墨2014年十月二十五日注)

<1>打开visual
studio,新建win3二调控台项目,取个名字,比方叫test一,然后选好路径,点分明.

澳门葡京 13

<2>点一次“下一步”。

澳门葡京 14

<三>勾上空项目尤其勾。

澳门葡京 15

<4>接着在消除方案财富管理器的【源文件】处右击->增加->新建项,盘算在工程中新建3个cpp源文件。

澳门葡京 16

澳门葡京 17

<5>选定C++源文件,取个名字,举例叫“main”,然后点【增加】,那么,八个新的cpp文件就增添到了工程中。

<6>看过浅墨在此之前DirectX配置的相关博文的爱人们应当都通晓,有壹招叫属性管理器。在性质管理器中开始展览二回配置,就一定于进行了通用的陈设进程,今后新建的工程就不要再额外的拓展重新配置了。

澳门葡京,在菜单栏里面点<视图>–<属性管理器>,那么就可以在visual
studio中多出2个属性管理器专门的学业区来。

澳门葡京 18

 

<7>在新出现的“属性管理器”职业区中,点击项目->Debug|Win32->Microsoft.Cpp.Win3二.userDirectories(右键属性,恐怕双击)就可以张开属性页面。

 澳门葡京 19

 

 

<8>张开属性页面后,正是壹番配备了。首先是在

【通用属性】
->【VC++目录】 ->【包涵目录】中

澳门葡京 20

添加上

D:\Program
Files\opencv\build\include

D:\Program
Files\opencv\build\include\opencv

D:\Program
Files\opencv\build\include\opencv二 那四个目录。

澳门葡京 21

当然,那是在此之前把OpenCV解压到D:\Program
Files\下的事态。实际的门道还要看你和煦把OpenCV解压到了哪些目录下,依照你的其真实意况况来调度。

 

 

 

 

 

 

  

3: scrollHeight、scrollWidth、scrollTop、scrollLeft

四.工程库(lib)目录的安顿

 

 

实际那步和上一步大概,属性处理器”专业区中,点击项目->Debug|Win3贰->Microsoft.Cpp.Win3贰.userDirectories(反键属性,或许双击)张开属性页面。

继之上步,便是在【通用属性】
->【VC++目录】 ->【库目录】中,

澳门葡京 22

添加上D:\Program
Files\opencv\build\x86\vc10\lib这几个路子。(最佳不用复制粘贴浅墨给出的渠道,而是本人去预览里面内定出来,那样会标准得多)

 

> style=”font-family: Microsoft YaHei; font-size: 14px”> > > > style=”color: #3366ff”>(感谢小如风童鞋,此前交付的门路 > > > style=”font-family: "Microsoft YaHei"; font-size: 1四px”>D:\Program
Files > > > style=”font-family: "Microsoft YaHei"; font-size: 14px”>\opencv\build\x86\vc10\lib里少个空格,直接复制浅墨给出的方面路线的童鞋就能够师世“ > > > style=”line-height: 20px”>无法开荒错误 一 error LNK1拾四:
不能够张开文件“opencv_calib三d24八.lib”类似的荒谬”,现已纠正)

> style=”font-family: Microsoft YaHei; font-size: 1四px”> > > > style=”font-family: "Microsoft YaHei"; font-size: 1四px”> > > > style=”color: #336六ff”>
——————浅墨于201四年1月二101日

style=”font-family: "Microsoft YaHei"; font-size: 14px”> 

style=”font-family: Microsoft YaHei; font-size: 14px”>这里接纳x8陆依然x6肆是二个时常令人狐疑的标题。当然,对于叁14人操作系统,铁定正是选x八六了。

style=”font-family: Microsoft YaHei; font-size: 1肆px”>若是是陆拾4位操作系统,许多童鞋会想当然布鼓雷门地挑选x6四,其实不然。正确的敞亮是这么的:

 

 

style=”font-size: 1四px; color: #cc0000″>不管你是三拾壹人依然611人操作系统,只用管你用win3二编写翻译器依旧X64编写翻译器。

style=”font-size: 1四px; color: #cc0000″>其实配置选取怎么着跟60位照旧3一人系统未有直接的涉及,而是在乎你在编写翻译你的顺序的时候是选取尤其编写翻译器。

style=”font-size: 14px; color: #cc0000″>澳门葡京 23

style=”font-size: 1四px; color: #cc0000″>编写翻译器选的是win3二,就用x8陆

style=”font-family: "Microsoft YaHei"”>编写翻译器选的是X64,就用X64。可是貌似境况下,都是用的win3二的X捌六编写翻译器。所以,无论32依然陆11人操作系统,配置文件最棒都采纳x86版的

 

style=”font-family: Microsoft YaHei; font-size: 14px”>此外,这里的vc拾意味着vs2010,假诺是任何版本的visual
studio,稍微要微调一下。

style=”line-height: 20px”>感谢JJBomb style=”color: #88888八; line-height: 二六px”>  style=”line-height: 贰陆px”>童鞋,这里大家补充完整:vc八 = Visual Studio
200五,vc玖 = Visual Studio 二〇〇9,vc拾 = Visual Studio 20拾,vc1壹 =
Visual Studio 2011,vc1二 = Visual Studio 201叁。

 

 

 

 

5.链接库的布置

style=”font-family: Microsoft YaHei; font-size: 32px; color: #cc6600; font-weight: normal”> 

 

style=”font-family: "Microsoft YaHei"; font-size: 14px”>依旧是“属性管理器”职业区中,点击项目->Debug|Win3二->Microsoft.Cpp.Win32.userDirectories(反键属性,或许双击)就可以张开属性页面。【通用属性】
->【链接器】->【输入】->【附加的依赖项】

style=”font-family: Microsoft YaHei; font-size: 14px”>澳门葡京 24

style=”font-family: "Microsoft YaHei"; font-size: 14px”> 

style=”font-size: 18px”>对于 style=”font-size: 贰四px; color: #cc0000″>【 style=”font-size: 贰四px; color: #cc0000″>OpenCV二.肆.八】 style=”font-size: 18px”>,增多如下248本子的lib style=”font-family: "Microsoft YaHei"; font-size: 1四px”>(那样的lib顺序是: style=”font-family: "Microsoft YaHei"; font-size: 1肆px”>1捌个 style=”font-family: "Microsoft YaHei"; font-size: 1肆px”>带d的debug版的lib写在前头,十多少个不带d的release版的lib写在前边):

 

 

style=”font-family: Microsoft YaHei; font-size: 14px”>opencv_ml248d.lib
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_objdetect248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_nonfree248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_videostab248d.lib

opencv_objdetect248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_nonfree248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_videostab248.lib
opencv_calib3d248.lib
opencv_contrib248.lib
opencv_core248.lib
opencv_features2d248.lib
opencv_flann248.lib
opencv_gpu248.lib
opencv_highgui248.lib
opencv_imgproc248.lib
opencv_legacy248.lib

style=”font-family: Microsoft YaHei; font-size: 14px”>opencv_ml248.lib

 

 

style=”font-size: 1八px”>对于 style=”font-size: 2四px; color: #cc0000″>【OpenCV二.四.九】 style=”font-size: 1八px”>,加多如下24九版本的lib style=”font-size: 14px; font-family: "Microsoft YaHei"”>(那样的lib顺序是: style=”font-size: 1肆px; font-family: "Microsoft YaHei"”>十多少个 style=”font-size: 1四px; font-family: "Microsoft YaHei"”>带d的debug版的lib写在前方,24个不带d的release版的lib写在前面) style=”font-family: Microsoft YaHei”> style=”font-size: 1八px”>:

 

 

style=”font-family: Microsoft YaHei; font-size: 14px”>opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib

opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib

style=”font-family: Microsoft YaHei; font-size: 14px”>opencv_ml249.lib

 

style=”font-family: Microsoft YaHei; font-size: 14px”> style=”font-size: 14px”>

 

style=”font-family: Microsoft YaHei; font-size: 14px”> 澳门葡京 25

 

style=”font-family: Microsoft YaHei; font-size: 14px”>供给专注的是,所粘贴内容即为在此之前大家解压的OpencV目录D:\opencv\build\x86\vc10\lib下全数lib库文件的名字;在那之中的24八象征我们的OpenCV版本为二.4.8,假诺别的版本的布置则在此间要开始展览对应的退换,例如说贰.4.陆版的OpenCV,那么这里的opencv_calib3d24八d.lib将要改成opencv_calib3d246d.lib了.

style=”font-family: Microsoft YaHei; font-size: 14px”>Debug文件库名有d结尾,Release未有,如
opencv_ts248d.lib(debug版本的lib)和opencv_ts248.lib(release版本的lib)

style=”font-family: Microsoft YaHei; font-size: 1肆px”>可是小编一般是在那边把带d和不带d的通通写在此地,因为这里是后来创办全部工程时都会连续的公物性质。

 

style=”font-family: "Microsoft YaHei"”> style=”font-size: 1捌px”>对于 style=”font-size: 二四px; color: #cc0000″>【OpenCV 三.0】 style=”font-size: 18px”>, style=”font-size: 1四px”>加多3.0本子的lib,新版的lib相当简单。想用debug版本的库,加多

style=”font-size: 1四px; font-family: 方正爱晚亭刊黑_GBK; orphans: 2; text-align: -webkit-auto; widows: 2″>opencv_ts300d.lib

style=”font-size: 14px; font-family: 方正爱晚亭刊黑_GBK; line-height: 20px”>opencv_world300d.lib
那多个库就可以。

style=”font-size: 1四px; font-family: 方正湖心亭刊黑_GBK; line-height: 20px”> style=”font-family: 方正真趣亭刊黑_GBK; font-size: 14px; orphans: 二; widows: 2″>而想用release版本的库,加多

style=”font-family: 方正真趣亭刊黑_GBK; orphans: 2; widows: 2; font-size: 14px; text-align: -webkit-auto”>opencv_ts300.lib

style=”font-family: 方正真趣亭刊黑_GBK; font-size: 14px; line-height: 20px”>opencv_world300.lib style=”font-family: 方正陶然亭刊黑_GBK; orphans: 2; widows: 2; font-size: 14px; text-align: -webkit-auto”>即可。

 

其实,对已经发行和 style=”font-family: "Microsoft YaHei"”> style=”font-size: 1肆px”>未来就要公布的新版OpenCV,只需看opencv\build\x86\vc10\lib下的库是哪多少个,增多成注重项就能够了。

 

 

 

style=”font-family: "Microsoft YaHei"; color: #cc0000; font-size: 贰四px”>此外注意 style=”color: #cc0000; font-size: 1四px; font-family: "Microsoft YaHei"”>: style=”font-family: Microsoft YaHei”> style=”color: #99339九; font-size: 1八px”>依照如上的那种方式来布置,只怕会油可是生debug下得以运作不过release下不可能运作的情景(因为字符串读取难题引起的诸如图片载入不了,报指针越界,内部存款和储蓄器错误等等),那毕竟OpenCV自2.4.一来讲的三个bug。

style=”font-size: 2肆px; color: #cc0000″>化解方案: style=”color: #99339九; font-size: 1八px”>想在release格局下运作出程序结果,在工程的release格局下,将不带d的lib(全体是二十个)增添到【项目】->【属性】(注意那样展开的是眼前工程的属性页,我们只需在此地将release版(即不带d)的连带lib加多进去)->【配置属性】->【链接器】->【输入】->【附加的依赖项】下就能够。

 

style=”font-size: 14px”> style=”white-space: pre”> ——————浅墨
2014年3月17日注&2014年6月11日更新

style=”font-size: 1四px”> style=”font-family: "Microsoft YaHei"; font-size: 1四px; line-height: 二陆px”>类似错误如图:

> > > style=”font-size: 14px”> > > > > style=”color: #cc0000″>澳门葡京 26

 

 

 

 

 

陆.在Windows文件夹下参预OpenCV动态链接库

style=”font-family: Microsoft YaHei; font-size: 24px; color: #009900; font-weight: normal”> 

style=”font-family: Microsoft YaHei; font-size: 24px; font-weight: normal”> 

style=”font-family: "Microsoft YaHei"”>PS: style=”font-family: "Microsoft YaHei"; line-height: 26px”>经过 hellofuturecyj style=”font-family: "Microsoft YaHei"; line-height: 26px; orphans: 二; widows: 二”> 同学提示,倘使安顿情形变量那步配置规范,且布局之后通过重启,就从不开始展览这步配置的不能缺少了。即做完上边第6步的配置,重启一遍,就能够间接跳到第十步,进行测试,看出不出图。

style=”font-family: "Microsoft YaHei"; line-height: 贰六px; orphans: 2; widows: 二”> style=”font-size: 1捌px”>当然,要是需不重启而立时来看布署的结果,就足以实行这里的章程。

style=”color: #cc0000; font-family: "Microsoft YaHei"; font-size: 14px”> style=”white-space: pre”> ——————浅墨 2014年6月16日注

style=”font-family: "Microsoft YaHei"; font-size: 14px; line-height: 26px; orphans: 2; widows: 2″> 

style=”font-family: Microsoft YaHei; font-size: 1肆px”>这一步是各个介绍OpenCV的布局的连锁博文中都没写出来的。依照这么些博文配置出来的条件,在运行基于OpenCV的顺序的时候,往往会获得这么好像的结果:

style=”font-family: Microsoft YaHei; font-size: 14px”> 澳门葡京 27

style=”font-family: Microsoft YaHei”>那种主题素材最简易狂暴的方式,是把有关的dll都拷贝到Windows操作系统的目录下。借让你的Windows安装在C盘,那么路线就是 style=”color: #55555伍; font-size: 1陆px; line-height: 贰七.187伍px”> style=”font-family: Microsoft YaHei”>c:\Windows\System3二 style=”font-family: Microsoft YaHei”>。根据事先自身的OpenCV的寄放景况,那个dll存放在

style=”font-family: Microsoft YaHei; font-size: 14px”>D:\Program
Files\opencv\build\x86\vc10\bin目录下。

style=”font-family: Microsoft YaHei; font-size: 14px”>澳门葡京 28

style=”font-family: Microsoft YaHei”>到那几个目录下,【Alt+A】全选,【Alt+C】拷贝,然后转到 style=”color: #55555五; font-size: 1陆px; line-height: 二七.1875px”> style=”font-family: Microsoft YaHei”>c:\Windows\System3二 style=”font-family: Microsoft YaHei”>上面,【Alt+V】复制,轻巧残酷地就马到功成了。

style=”font-size: 14px”>PS:对于Windows
八,则要放在要在SysWOW6肆文件夹中。

 

 

style=”font-family: Microsoft YaHei; font-size: 14px”>恩,景况安插马到成功,大家来测试一下成果吧~

 

 

 

 

七.末段的测试

style=”font-family: Microsoft YaHei; font-size: 32px; color: #663366; font-weight: normal”> 

 

style=”font-family: Microsoft YaHei; font-size: 1四px”>就用载入并显示一张图纸到窗口的顺序,用于大家的配备测试呢。

style=”font-family: Microsoft YaHei; font-size: 14px”>新建四个空项目标调控台应用程序,新建三个cpp文件,然后粘贴如下代码:

 

[cpp] view
plain data-mod=”popu_168″>
copy

  1. #include<iostream>  
  2. class=”preprocessor”>#include <opencv2/core/core.hpp>  
  3. class=”preprocessor”>#include <opencv2/highgui/highgui.hpp>  
  4.   
  5.   
  6. using  class=”keyword”>namespace cv;  
  7.   
  8.   
  9. int main()  
  10. {  
  11.     // 读入一张图片(游戏原画)  
  12.     Mat img=imread(“pic.jpg”);  
  13.     // 成立贰个名叫 “游戏原画”窗口  
  14.     namedWindow(“游戏原画”);  
  15.     // 在窗口中突显游戏原画  
  16.     imshow(“游戏原画”,img);  
  17.     // 等待四千 ms后窗口自动关闭  
  18.     waitKey(6000);  
  19. }  

    style=”font-family: Microsoft YaHei; font-size: 14px”>放置一张名称为pic.jpg的图片到工程目录中,然后点击“运维“按键,即便布置成功,就不会报错,获得预想的运行结果:

    style=”font-family: Microsoft YaHei; font-size: 14px”>澳门葡京 29

 

style=”font-family: Microsoft YaHei; font-size: 1四px”>为了豪门的思虑,如故把工程文件发一下吧,纵然这一次只有轻巧的几句代码:

 

style=”font-family: Microsoft YaHei; font-size: 24px; color: #cc0000″>【OpenCV+VS20十开支条件陈设测试用例
by浅墨】下载

 

 

 

7.大概遇见的主题材料和平化解决方案

style=”font-family: Microsoft YaHei; font-size: 32px; color: #009900; font-weight: normal”> 

 

style=”font-family: Microsoft YaHei; font-size: 14px”>呼,生活不容许是胜利的,我们的配置进度也是。浅墨在两次的配备进程中,出现了如下的两种规范难点,小编相信您只怕会冒出,就在此处聚集列举一下吧,希望能为大家答疑:

 

1. 找不到core.h

style=”font-family: Microsoft YaHei; font-size: 1四px”>出现这么些主题材料是因为include的时候疏忽大要了。

style=”font-family: Microsoft YaHei; font-size: 1四px”>即使您的本子是2.肆.6。在这一个本子下,opencv根文件夹下边就有个include,但大家配备的时候假使含有的是他就坑爹了。

style=”font-family: Microsoft YaHei; font-size: 1四px”>正确的应有填build里面包车型客车不胜include。

 

贰.无法解析的外部命令

style=”font-family: Microsoft YaHei; font-size: 14px”>那些主题素材其实上边有过解释了,不管您是三拾三个人依然60人操作系统,只用管你用win32编写翻译器依旧X64编写翻译器。

style=”font-family: Microsoft YaHei; font-size: 1四px”>其实配置选择如何跟陆拾肆位依然313位系统并未直接的关系,而是在乎你在编写翻译你的顺序的时候是应用特别编译器。

style=”font-family: Microsoft YaHei; font-size: 14px”>编写翻译器是win3二,就用x八陆

style=”font-family: Microsoft YaHei; font-size: 14px”>编写翻译器是X6四,就用X64。但是貌似意况下,都是用的win3二的X捌陆编写翻译器。所以,

不论是32依然60个人操作系统,配置文件最棒都选拔x8六版的。

 

三.关于形如–error LNK200五:xxx 已经在 msvcrtd.lib ( MSVCCRUISER90D.dll ) 中定义

style=”font-family: Microsoft YaHei; font-size: 1四px”>现身那个标题,把静态库不带有就行了。

 

四. 应用程序不可能寻常运维0xc000007b

style=”font-family: "Microsoft YaHei"; font-size: 1四px”>Lib包蕴的主题材料。也许你同时富含了X八⑥和X6四的,可能隐含出错错了。只怕是对此windows
八 陆11人,dll要放在和System32文件夹同级的 style=”font-family: "Microsoft YaHei"; font-size: 1四px”>SysWOW6四文件夹中。

style=”font-family: "Microsoft YaHei"; font-size: 14px”> 

style=”font-size: 18px; color: #cc0000″>五.明明图形路线是对的,却载入不进来图片,提醒指针越界,有未经管理的百般

style=”font-family: Microsoft YaHei; font-size: 1四px”>类似错误如图:

style=”font-family: Microsoft YaHei; font-size: 14px”>澳门葡京 30

 

style=”line-height: 20px”>那到底opencv的一个bug,工程属性之中关于带d和不带d的lib文件的附加依赖项的标题,固然配置好了历次想debug和release下都运作还得手动在工程属性里面加。当获得那样的荒谬时,能够把调节和测试方式改1改, style=”font-family: "Microsoft YaHei"; font-size: 1四px; line-height: 20px”>debug和release交流:

style=”line-height: 20px”> style=”font-family: "Microsoft YaHei"; font-size: 14px; line-height: 20px”> 

style=”line-height: 20px”> style=”font-family: "Microsoft YaHei"; font-size: 14px; line-height: 20px”>澳门葡京 31

 

style=”font-family: Microsoft YaHei; font-size: 1四px”>也许展开当前工程(注意是近日工程的属性页,不是通用属性页)的属性页,debug或许release哪个报错,就把相应的带d或不带d的lib加多到【“当前”工程属性】->【链接器】->【输入】->【附加的正视性项】下就能够。

 

style=”font-family: Microsoft YaHei; font-size: 1肆px; color: #cc0000″>关于难点五的另1种错法:图片后缀难点

style=”font-family: Microsoft YaHei; font-size: 1肆px”>昨日早晨贰个学弟和豪门始终不渝在参考这篇小说配置OpenCV情形,弄了一早上径直报这几个荒唐。最后浅墨给他看了下,开采是图表后缀的难点,在那边更新一下,防止有童鞋是因为那些主题材料而一直得不出结果。 style=”font-family: Microsoft YaHei; font-size: 1四px; color: #333333″>确认保障您载入的图纸是和代码中imread的门道、名称、后缀是毫无二致的。 style=”color: #33333叁; font-family: "Microsoft YaHei"; font-size: 14px”>比如,学弟碰到的难点不怕,在xp系统上面,未有出示后缀名,下了浅墨在小说最后给出的配备参考示例程序,臆想是xp系统默许会把jpg当做jpeg对待,然后她在代码中imread的是“1.jpg”,硬是报错。笔者给他看的时候,在文书夹选项中调出文件后缀名,开掘在win七上面给大家盘算的名称叫“一.jpg”的文书,在xp上边造成了“一.jpeg”。然后浅墨将学弟代码中的“一.jpg”改成“一.jpeg”,立马出结果。大概那正是1有的朋友们调不出结果的另1种原因呢。

style=”font-family: "Microsoft YaHei"; font-size: 14px”> style=”white-space: pre”> style=”color: #666666″> style=”color: #009900″>———————–浅墨于 style=”font-family: "Microsoft YaHei"; font-size: 14px”>2014年9月20日补充

style=”color: #cc0000; font-family: "Microsoft YaHei"; font-size: 14px”> 

style=”font-family: "Microsoft YaHei"; font-size: 14px”> 

 

style=”font-size: 18px; color: #009900″>陆. style=”orphans: 二; widows: 二”>无法开垦文件“opencv_ml24九d.lib”类别的一无所长

style=”font-family: Microsoft YaHei; font-size: 14px”> 

style=”color: #0十10一”>关于LINK : fatal
error LNK1十四:  style=”color: #010十一”>不可能开发文件“opencv_ml24九d.lib”,在争执区和我们给浅墨发的邮件中是周边的2个谬误。

style=”color: #010101″> 

 

style=”font-size: 14px”> style=”color: #cc0000″>PS:  class=”user”
style=”color: #6600cc; line-height: 26px”>jzh258fits  class=”user” style=”color: #6600cc; line-height: 二陆px”>同学建议的 style=”color: #6600cc”>2个新的解决方法是: style=”color: #6600cc; line-height: 20px”>项目->属性管理器->Debug|Win3二->Microsoft.Cpp.Win3二.userDirectories中的属性页面->连接器->常规里面包车型地铁附加库目录中投入相应的lib文件目录。

style=”font-family: Microsoft YaHei; font-size: 14px”> 

style=”color: #01010一”>那几个错误主要是因为含有的库目录中,和带有的 style=”color: #010十壹”>附加正视项不能够相互对应照成的。

style=”font-family: Microsoft YaHei; font-size: 14px”> 

style=”color: #010101″>也许是 style=”color: #010101″>“opencv_ml24玖d.lib“多加了二个空格,成了” style=”color: #0十101″>opencv_ml24玖d.
lib“,就能够报错。

style=”font-family: Microsoft YaHei; font-size: 1四px; color: #010十一”>遭受这些主题材料,检查几个地方:

style=”font-family: Microsoft YaHei; font-size: 14px; color: #010101″> 

style=”color: #0十10一”>一.反省第四步 style=”font-family: "Microsoft YaHei"; font-size: 1四px”>”四.工程库(lib)目录的布局“ style=”font-family: "Microsoft YaHei"; font-size: 1四px; color: #010⑩一”>库目录中的路线是不是确切。

style=”font-family: "Microsoft YaHei"; font-size: 14px; color: #0十十一”>二.反省第陆步”五.链接库的安插“中 style=”font-family: "Microsoft YaHei"; font-size: 1四px; color: #010十一”>“ style=”font-family: "Microsoft YaHei"; font-size: 1四px; orphans: 二; widows: 2; color: #0十拾一”>附加依赖项”的格式有未有毛病,有未有多空格,版本号248,24九怎么着的有未有标题,有未有多3个空格,少一个点什么的。

style=”font-family: "Microsoft YaHei"; font-size: 1肆px; color: #0十10一”> style=”font-family: "Microsoft YaHei"; font-size: 1肆px; orphans: 二; widows: 2; color: #0拾拾壹”>三.次之步情状变量的安插是不是正确。

style=”font-family: "Microsoft YaHei"; font-size: 14px; color: #010101″> style=”font-family: "Microsoft YaHei"; font-size: 14px; orphans: 2; widows: 2; color: #010101″> 

三.一 scrollHeight 成分的莫过于高度
三.二 scrollWidth 成分的实在增加率
三.三 scrollTop 假如出现y轴滚动条,那么正是 页面看不到的顶端的冲天
3.四 scrollLeft 假设x轴出现滚动条,那么就是 页面看不到的左侧的小幅

4 : 事件 e 的一些距离

clientX 设置或获得鼠标指针地方相对于方今窗口的 x
坐标,个中型大巴户区域不包涵窗口自己的控件和滚动条。
clientY 设置或获得鼠标指针地方相对于当下窗口的 y
坐标,在那之中型大巴户区域不包蕴窗口本人的控件和滚动条。

offsetX 设置或获得鼠标指针地方相对于触发事件的靶子(本人)的 x
坐标。
offsetY 设置或获得鼠标指针位置相对于触发事件的对象(本身)的 y 坐标。

screenX 设置或获得获取鼠标指针地点相对于用户显示器的 x 坐标。
screenY 设置或获得鼠标指针地方相对于用户显示屏的 y 坐标。

x 设置或获得鼠标指针地点相对于父文书档案的 x
像素坐标(亦即相对于目前窗口)。
y 设置或获得鼠标指针地点绝对于父文档的 y
像素坐标(亦即相对于当下窗口)。

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website