- 双目立体视觉(3.1)立体标定
2501_90596733
双目立体视觉计算机视觉python人工智能
在双目测距系统中,立体标定是至关重要的一步。其主要目的是求解双目相机的所有内外参数,这些参数的准确性直接关系到后续的效果,进而影响双目测距的精度。一、立体标定的重要性立体标定的核心目标是获取相机的内外参数。内参数包括焦距、主点坐标和畸变参数等,这些参数在相机制造完成后基本固定,无需频繁标定。外参数则包括旋转矩阵R和平移向量T,用于描述相机与场景之间的相对位置关系。通过标定,我们可以消除相机的畸变,
- 3D机器视觉的类型、应用和未来趋势
视觉人机器视觉
机器视觉3D3d人工智能计算机视觉c#前端
3D机器视觉的类型、应用和未来趋势类型3D机器视觉技术主要分为以下几类:立体视觉(StereoVision)通过两个或多个摄像头从不同角度捕捉图像,利用视差计算深度信息,生成3D模型。结构光(StructuredLight)使用投影仪将特定光图案投射到物体表面,通过摄像头捕捉变形图案,计算物体形状和深度。飞行时间(TimeofFlight,ToF)通过测量光脉冲从发射到反射回传感器的时间,计算物体
- 普通屏幕已过时?裸眼3D屏幕显示效果更胜一筹!
振邦视界
科技3d
随着多媒体技术的迅猛进步,我们日常生活中的内容展现方式,已经经历了前所未有的变革。在这其中,裸眼3D屏幕的应用,无疑是最为引人注目的亮点,它相较于传统屏幕,在显示效果上展现出了鲜明的优势,不仅为观众带来了全新的视觉盛宴,更在沉浸感和交互性上实现了质的飞跃。那么,这两种屏幕技术之间究竟隐藏着怎样的差异呢?一、立体画面传统的屏幕显示内容主要停留在平面效果上,若想要实现3D的立体视觉,观众通常需佩戴3D
- 双目立体视觉(1)
2501_90596733
双目立体视觉人工智能计算机视觉
1.背景计算机视觉技术,是以摄像头作为传感器来获取二维图像数据,并依靠计算机运用各类算法对这些图像数据展开处理。依据所采用视觉传感器数量的差异,可分为单目、双目以及多目视觉这几类。单目视觉依赖单摄像头获取二维平面图像,在知晓物体实际尺寸的前提下,结合相机成像模型能够计算出距离,但这种单一的2D图像在深度感知能力上存在局限,且较易受到动态背景的干扰,通常被应用于缺陷检测、目标识别等相关领域。多目视觉
- RK3568的ISP功能
沐风_ZTL
接口隔离原则人工智能RK3568ISP
RockchipRK3568处理器的ISP(图像信号处理器)功能专为提升图像质量设计,适用于多种视觉应用场景。以下是其ISP功能的详细解析:核心功能与特性多摄像头支持配置灵活:支持单摄像头最高13MP(30fps),或双8MP摄像头(30fps),适用于多目监控或立体视觉。接口兼容:支持MIPI-CSI(2-4Lane)、DVP并行接口、LVDS等,适配多种传感器。图像增强处理3D降噪(3DNR)
- 双目视觉之获取三维坐标(立体校正、Q矩阵与三角测量原理)
乐平要加油啊
YOLO+双目视觉计算机视觉opencv
前言双目视觉是一种模拟人类立体视觉的计算机视觉技术,它通过两个相机从不同的角度拍摄同一个场景,然后利用三角测量原理,计算出场景中物体的三维坐标信息。这种技术在机器人导航、自动驾驶、物体跟踪、三维重建等领域有广泛的应用。获取三维坐标是双目视觉的核心任务之一。通过对左右相机拍摄的图像进行特征匹配和视差计算,我们可以得到场景中每个像素点的视差值。视差值表示了同一个物体在左右图像中的位置差异,它与物体距离
- Ubuntu: 配置OpenCV环境
达柳斯·绍达华·宁
ubuntuopencvlinux
从从Ubuntu系统安装opencv_ubuntu安装opencv-CSDN博客文章浏览阅读2.3k次,点赞4次,收藏14次。开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。OpenCV的应用领域包括:2D和3D功能工具包、运动估计、面部识别系统、手势识别、人机交互、移动机器人、动作理解、物体识别、分割和识别、实体影像立体视觉:来自两个摄像机的深度感知、运动跟踪、增强现实等
- 计算机视觉领域顶级会议和顶级期刊汇总
AdaCoding
论文阅读与写作计算机视觉人工智能
计算机视觉领域顶级会议和顶级期刊汇总一、计算机视觉顶会一档二档二、计算机视觉顶刊一、计算机视觉顶会一档1、ICCV,全称:IEEE/CVFInternationalConferenceonComputerVision国际计算机视觉会议,是公认的三个会议中级别最高的,收录率一般在20%左右,由IEEE主办。收录论文的内容:底层视觉与感知,颜色、光照与纹理处理,分割与聚合,运动与跟踪,立体视觉与运动结
- 立体视觉几何 (三)
dc爱傲雪和技术
计算机视觉数码相机人工智能
立体视觉系统概述误差分析考虑对应于深度Z的视差d的匹配对。我们想要评估ΔZ,即视差误差引起的深度误差。将Z对d求导,得到:立体视觉中基线(baseline)、焦距(focallength)和立体重建的准确性之间的基本关系。“深度:立体重建的分辨率随着深度呈二次减小。这意味着立体视觉的适用性受到严重限制。”-这句话指出,随着物体距离相机的深度增加,立体重建的分辨率会二次减小。这意味着在较远的距离上,
- 双目视觉测宽仪系列 模拟人眼高精测量!
蓝鹏测控
其他制造
双目视觉测宽仪系列基于机器视觉原理,两个工业相机就像人的双眼,可以形成立体视觉,这样就可以得到足够的信息判断被测物的距离,修正和消除距离变化对测量的影响,在线检测生产线上产品的宽度值。可广泛应用于轧制材料(热轧、冷轧)、机械部件、钢板、铁板、金属板、厚板等板材类产品的在线检测。具有非接触、实时测量、精度高等优点。技术参数:测量范围:500-3000mm(定制)测量方式:双工业相机,自发光/光源补光
- 科普类——进行基线设计、系统测试和优化的立体视觉软件与工具(七)
JANGHIGH
科普类无人驾驶自动驾驶
科普类——进行基线设计、系统测试和优化的立体视觉软件与工具(七)在立体视觉领域,有许多立体视觉软件和工具可以帮助工程师进行基线设计、系统测试和优化。以下是一些常用的立体视觉软件和工具:Meshroom:这是一个基于AliceVision摄影测量计算机视觉框架的免费开源三维重建软件。Meshroom可以处理大规模的图像数据集,进行立体视觉重建。OpenMVG(OpenMultipleViewGeom
- 三维重建开源函数库或者工具
冰清-小魔鱼
遥感GIS计算机视觉目标检测人工智能
三维重建使用摄影测量、计算机视觉技术,利用立体视觉恢复真实相机姿态,获取现实物体的三维信息,并进行虚拟三维场景重现。1、OpenDroneMapODM是一个基于航空影像的三维重建集成工具箱,利用多幅航空影像恢复相机姿态和3D场景,可以生产点云、三维贴图模型、正射影像、数字表面模型、数字高程模型等,提供Web接口,支持CUDA加速,基础函数库使用OpenSfM,OpenMVS,PDAL,Entwin
- 【三维重建】双目立体视觉
Patrick star`
人工智能
通过极几何可以求得极线,现在我们需要将左边的图变成右边的平行视图。所有的极线都经过极点(e/e'),如果极点位于无穷远处,那所有的极线都平行。(极几何的基础知识可以参考这篇文章:【三维重建】对极几何-CSDN博客)平行视图中,可以利用视差就得深度,视差越小深度越深。如何得到平行视图呢?
- [Python图像处理] 使用OpenCV创建深度图
AI technophile
Python图像处理实战python图像处理计算机视觉
使用OpenCV创建深度图双目视觉创建深度图相关链接双目视觉在传统的立体视觉中,两个摄像机彼此水平移动,用于获得场景上的两个不同视图(作为立体图像),就像人类的双目视觉系统:通过比较这两个图像,可以以视差的形式获得相对深度信息,该视差编码对应图像点的水平坐标的差异。两个立体图像中单个像素的位移量称为视差(disparity),像素的视差与其在场景中的深度成反比。可以用灰度值对每个像素的视差进行编码
- 11. 双目视觉之立体视觉基础
宛如新生
slam中的标定问题数码相机
目录1.深度恢复1.1单目相机缺少深度信息1.2如何恢复场景深度?1.3深度恢复的思路2.对极几何约束2.1直观感受2.2数学上的描述1.深度恢复1.1单目相机缺少深度信息之前学习过相机模型,最经典的就是小孔成像模型。我们知道相机通过小孔成像模型对世界点的观测是缺少深度信息的。我们得到的只是世界点在相机平面上的一个投影。如下图,世界点P只要是在那条红色线上,他在相机上的成像位置就是P‘,所以我们无
- 12. 双目视觉之极线矫正
宛如新生
slam中的标定问题数码相机
目录1.为何要进行极线矫正?2.极线矫正过程。1.为何要进行极线矫正?之前的文章立体视觉基础中介绍单目相机无法获得深度信息,我们可以通过多个相机来实现立体视觉。通过两个相机对某场景同时观测时,当我们知道了相机的内(外)参以及两者之间的基线,然后通过某种方式找到两相机对同一世界点的观测的关联关系(类似特征匹配),就可以计算出视差,最终通过下列公式计算出观测到的世界点的深度。我们假设双目相机已经标定完
- 第六篇【传奇开心果系列】Python的OpenCV库技术点案例示例:摄像头标定
传奇开心果编程
Python库OpenCV技术点案例示例短博文opencv计算机视觉python
传奇开心果博文系列系列博文目录Python的OpenCV库技术点案例示例系列博文目录一、前言二、OpenCV摄像头标定介绍三、摄像头内外参数标定示例代码和扩展四、立体视觉标定示例代码和扩展五、归纳总结系列博文目录Python的OpenCV库技术点案例示例系列博文目录一、前言OpenCV摄像头标定:包括摄像头内外参数标定、立体视觉标定等功能。二、OpenCV摄像头标定介绍OpenCV是一个广泛使用的
- 双目立体视觉——视差图(stereo matching)三种相似度算法实现
7lingqi7
1024程序员节python笔记学习
目录双目立体视觉的理解:平行视图的极几何(第二种实现视差图的思路)图像校正(cameracalibration)实现——相似度匹配,视差计算重要影响参数实验报告讨论部分SGBM算法示例,这个效果更好,速度也更快。【双目视觉】SGBM算法应用(Python版)_落叶随峰的博客-CSDN博客任务:生成视差图关键词:视差原理(平行视图的极几何),图像校正,相似度匹配,视差计算和匹配图片数据集:visio
- 立体视觉几何 (二)
dc爱傲雪和技术
计算机视觉
1.视差2.立体匹配立体匹配的基本概念:匹配目标:在立体匹配中,主要目标是确定左图像中像素的右图像中的对应像素。这个对应像素通常位于相同的行。视差(Disparity):视差d是右图像中对应像素xr和左图像中像素xl之间的水平位置差。视差是深度信息的关键指标。匹配方法:方法涉及在左图像中以某个像素为中心取一个窗口W,然后将这个窗口沿水平方向平移视差d,并将其放置在右图像中。接着比较左图像中窗口W和
- 立体视觉几何(一)
dc爱傲雪和技术
计算机视觉
1.什么是立体视觉几何立体视觉=对应+重建:•对应:给定一幅图像中的点pl,找到另一幅图像中的对应点pr。•重建:给定对应关系(pl,pr),计算空间中相应点的3D坐标P。立体视觉:从图像中的投影恢复场景中点的三维位置的过程类型:基于窗口/局部的算法和全局算法三角测量:给定pl,我们知道点P位于连接pl和左光心Cl的直线Ll上。**假设我们确切地知道相机的参数,我们可以显式计算Ll和Lr的参数。*
- 重大突破!单向结构光系统校准方法,平面测量精度提高2.5倍,球面测量精度提高2倍
3DCV
学习计算机视觉人工智能算法深度学习平面
作者:小柠檬|来源:3DCV在公众号「3DCV」后台,回复「原论文」获取论文本文提出了一种新颖的单向结构光系统标定方法,该方法利用白色平面作为标定目标,而不是具有圆点或方格方块等物理特征的传统目标。该方法通过采用具有投影随机图案和平面拟合的立体视觉来重建白色平面。为了促进校准过程,使用了辅助摄像机和辅助投影仪。实验结果表明,所提出的方法对于单向结构光系统具有较高的标定精度。原文链接:重大突破!单向
- vslam论文24:ESVIO: 基于事件相机的双目VIO(RAL 2023)
xsyaoxuexi
视觉SLAM论文阅读c++人工智能学习笔记
摘要异步输出低延迟事件流的事件相机为具有挑战性的情况下的状态估计提供了很大的机会。尽管近年来基于事件的视觉里程测量技术得到了广泛的研究,但大多数都是基于单目的,而对立体事件视觉的研究很少。在本文中,我们介绍了ESVIO,这是第一个基于事件的立体视觉惯性里程计,它利用了事件流、标准图像和惯性测量的互补优势。我们建议的pipeline包括ESIO(纯基于事件的)和ESVIO(带有图像辅助的事件),它们
- OpenCV-Python(43):姿势估计
图灵追慕者
opencv-pythonopencvcalib3D模块姿势估计摄像机标定立体视觉3D重构
目标学习了解calib3D模块学习在图像中创建3D效果calib3D模块OpenCV-Python的calib3D模块是OpenCV库中的一个重要模块,用于摄像头标定和三维重建等计算机视觉任务。该模块提供了一些函数和类,用于摄像头标定、立体视觉和三维重建等方面的操作。下面是一些calib3D模块常用的函数和类的介绍:1.findChessboardCorners():用于在一张图片中查找棋盘格角点
- 工业相机相关概念词介绍:ISP算法、线阵相机、常用术语
明月醉窗台
应用工具使用介绍图像处理相关算法数码相机接口隔离原则算法计算机视觉图像处理
工业相机相关概念词介绍:ISP算法、线阵相机、常用术语ISP基本框架及算法介绍相机的常用设置50个常用术语关于立体视觉相关算法,可参考我的专栏:https://blog.csdn.net/yohnyang/category_11720857.html0.ISP基本框架及算法介绍ISP(ImageSignalProcessor),即图像处理,主要作用是对前端图像传感器输出的信号做后期处理,主要功能有
- 使用opencv做双目测距(相机标定+立体匹配+测距)
AAI机器之心
opencv数码相机人工智能pytorch机器学习计算机视觉
最近在做双目测距,觉得有必要记录点东西,所以我的第一篇博客就这么诞生啦~双目测距属于立体视觉这一块,我觉得应该有很多人踩过这个坑了,但网上的资料依旧是云里雾里的,要么是理论讲一大堆,最后发现还不知道怎么做,要么就是直接代码一贴,让你懵逼。所以今天我想做的,是尽量给大家一个明确的阐述,并且能够上手做出来。一、标定首先我们要对摄像头做标定,具体的公式推导在learningopencv中有详细的解释,这
- ZED使用指南(八)Depth Sensing
Happy_Cabbage
ZED2计算机视觉人工智能
ZED立体相机再现了人类双目视觉的工作方式。通过比较左眼和右眼看到的两种视图,不仅可以推断深度,还可以推断空间中的3D运动。ZED立体相机可以捕捉到场景的高分辨率3D视频,通过比较左右图像之间的像素位移可以估计深度和运动。深度感知深度感知是指确定物体之间的距离,以三维的角度看世界。到目前为止,深度传感器仅限于近距离和室内的深度感知,限制了其在手势控制和身体跟踪方面的应用。ZED是第一个使用立体视觉
- 双目立体视觉进入“上车”时代,这家厂商如何“领跑”全球
高工智能汽车
汽车
车载双目立体视觉正在迎来爆发式增长的窗口期。《高工智能汽车》了解到,继大众、丰田、零跑等越来越多主机厂开始从单目切换为双目方案之后,小鹏汽车也已经布局双目立体感知方案,以提高L2及以上智能驾驶的安全性和可靠性。现阶段,以NOA为代表的高阶智能驾驶系统,已经成为了车企决战智能化下半场竞争的关键。根据高工智能汽车研究院最新发布数据显示,2023年1-9月,中国市场(不含进出口)乘用车前装标配(软硬件)
- OpenCV 中 core, imgcodecs, imgproc, calib3d, highgui, dnn, features2d, flann, gapi, ml, objc等分别是什么?
型者无疆
opencv3ddnn
下面是关于这些OpenCV模块的简要说明:core:OpenCV核心功能模块,提供了基本的数据结构、图像处理函数和数学运算等常见功能。imgcodecs:图像编解码模块,用于读取、写入和编解码各种图像格式,如JPEG、PNG等。imgproc:图像处理模块,提供了图像处理和操作的函数,包括滤波、边缘检测、几何变换等。calib3d:相机标定和三维重建模块,用于相机标定、立体视觉、姿态估计和三维物体
- Active Stereo Without Pattern Projector论文精读
你不困我困
论文精读深度学习计算机视觉
1.背景补充主动立体相机和被动立体相机的主要区别在于它们获取立体视觉信息的方式主动立体相机12:主动立体视觉是指寻找最佳的视角去重建目标或者场景1。主动视觉的实现方式通常有:改变环境中的光照条件、改变相机的视角、移动相机自身位置等,其目的是提高感知结果的质量1。主动立体视觉还包括没有先验的场景信息去主动识别或是跟踪,存在与环境的交互1。结构光法采用主动投射已知图案的方法来实现匹配特征点,达到较高的
- RC-MVSNet:无监督的多视角立体视觉与神经渲染--论文笔记(2022年)
知识推荐号
MVS论文笔记论文阅读图像处理python三维重建
RC-MVSNet:无监督的多视角立体视觉与神经渲染--论文笔记(2022年)摘要1引言2相关工作2.1基于监督的MVS2.2无监督和自监督MVS2.3多视图神经渲染3实现方法3.1无监督的MVS网络3.2参考试图合成3.3深度渲染一致性Chang,D.etal.(2022).RC-MVSNet:UnsupervisedMulti-ViewStereowithNeuralRendering.In:
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不