include

opencv3.4将图像指定区域用另一幅图像覆盖

╄→гoц情女王★ 提交于 2020-03-11 13:10:57
opencv3.4将图像指定区域用另一幅图像覆盖,函数copyTo(roi , mask)。 函数copyTo(roi , mask)函数后面的mask可以实现蒙版的功能。要注意mask的数据类型,必须是CV_8U,且通道数或者是1,或者与roi一致。 #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include "opencv2/stitching.hpp" #include "opencv2/opencv.hpp" using namespace std; using namespace cv; int main() { //使用img2来覆盖img1 Mat img1=imread("D:/CodeWork/MyImage/1.jpg",0);//被覆盖的图像(底图) Mat img2=imread("D:/CodeWork/MyImage/2.jpg",0);//用来去覆盖的图像(上图) //两幅图像的左上角重合 Mat roi=img1(Rect(0,0,img2.cols,img2.rows)); //根据不同的需求,可以设置像素值为1、0,以及mask

laravel项目下的nginx配置

本秂侑毒 提交于 2020-03-11 12:58:23
本文作于从0开始学习PHP和相关框架laravel,纯当一个笔记记录 操作系统使用的是macOS Mojava 版本:10.14.6 nginx version: nginx/1.17.9 php version :v7.2.28 nginx配置详解 nginx安装 brew install nginx 启动nginx服务: sudo nginx 测试nginx是否安装成功 curl -IL http://127.0.0.1:8080 返回的结果应该如下: brew命令安装nginx的文件的配置目录:/usr/local/etc/nginx 上面标出了这次会用到的几个配置文件 修改配置文件 :配置本地代理服务,让PHP项目可以本地访问 1.修改nginx配置文件 编辑配置文件: vim /usr/local/etc/nginx/nginx.conf 输入内容: worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size

CMake快速入门

百般思念 提交于 2020-03-11 12:50:17
https://www.cnblogs.com/douzujun/p/10761176.html 目录 1. 单目标文件 2. 同一个目录,多个源文件 3. 多目录,多文件 参考: https://www.hahack.com/codes/cmake/ 回到顶部 1. 单目标文件 main.c #include <stdio.h> #include <stdlib.h> double power ( double base , int exponent ) { int result = base ; int i ; if ( exponent == 0 ) { return 1 ; } for ( i = 1 ; i < exponent ; ++ i ){ result = result * base ; } return result ; } int main ( int argc , char * argv []) { if ( argc < 3 ){ printf ( " Usage: %s base exponent \n " , argv [ 0 ]); return 1 ; } double base = atof ( argv [ 1 ]); int exponent = atoi ( argv [ 2 ]); double result = power (

OpenCV实现仿射变换

老子叫甜甜 提交于 2020-03-11 10:51:32
什么是仿射变换? ¶ 一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移). 综上所述, 我们能够用仿射变换来表示: 旋转 (线性变换) 平移 (向量加) 缩放操作 (线性变换) 你现在可以知道, 事实上, 仿射变换代表的是两幅图之间的 关系 . #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream> #include <stdio.h> using namespace cv; using namespace std; /// 全局变量 char* source_window = "Source image"; char* warp_window = "Warp"; char* warp_rotate_window = "Warp + Rotate"; /** @function main */ int main( int argc, char** argv ) { Point2f srcTri[3]; Point2f dstTri[3]; Mat rot_mat( 2, 3, CV_32FC1 ); Mat warp_mat( 2, 3, CV_32FC1 ); Mat src, warp_dst,

过滤器,监听器,拦截器的区别,以及使用

ぐ巨炮叔叔 提交于 2020-03-11 09:35:36
Filter的创建和销毁也是由WEB服务器负责。不过与Servlet区别的是,它是1>在应用启动的时候就进行装载Filter类(与Servlet的load-on-startup配置效果相同)。2>容器创建好Filter对象实例后,调用init()方法。接着被Web容器保存进应用级的集合容器中去了等待着,用户访问资源。3>当用户访问的资源正好被Filter的url-pattern拦截时,容器会取出Filter类调用doFilter方法,下次或多次访问被拦截的资源时,Web容器会直接取出指定Filter对象实例调用doFilter方法(Filter对象常驻留Web容器了)。4>当应用服务被停止或重新装载了,则会执行Filter的destroy方法,Filter对象销毁。 < filter>指定一个过滤器。 < filter-name>用于为过滤器指定一个名字,该元素的内容不能为空。 < filter- class>元素用于指定过滤器的完整的限定类名。 <init-param>元素用于为过滤器指定初始化参数,它的子元素 <param-name>指定参数的名字, <param-value>指定参数的值。 在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。 < filter-mapping>元素用于设置一个 Filter 所负责拦截的资源。一个

#include <ctype.h>

本小妞迷上赌 提交于 2020-03-10 16:43:10
#include <ctype.h> 如何自动添加#ifdef DEBUG #endfi 手下乱按成功了 vs 有时间百度 来源: https://www.cnblogs.com/hshy/p/12456296.html

【xml sql片段效率提升】-sql 和 标签的使用

佐手、 提交于 2020-03-10 13:48:31
在 mybatis 的定义中, 节点是用来定义可重用的 SQL 代码段。 它可以被包含在其他语句里面, 使用 节点来包含。 而且, 它里面是可以使用 ${} 占位符参数化的(注意, 此处的参数不是调用时传进来的), 不同的属性值通过包含的实例而变化。 sql标签中id属性对应include标签中的refid属性。通过include标签将sql片段和原sql片段进行拼接成一个完整的sql语句进行执行。 < sql id = "sqlid" > res_type_id , res_type < / sql > < select id = "selectbyId" resultType = "com.property.vo.PubResTypeVO" > select < include refid = "sqlid" / > from pub_res_type < / select > #引用同一个xml中的sql片段 < include refid = "sqlid" / > #引用公用的sql片段 < include refid = "namespace.sqlid" / > #include标签中也可以用property标签,用以指定自定义属性。在sql标签中通过${}取出对应的属性值。 < select id = "queryPubResType" parameterType

3.管道通信

半世苍凉 提交于 2020-03-10 10:40:39
1.无名管道   pipe  没有实际的文件,只是在内核区域分配一段内存空间来模拟管道,pipe创建无名管道会得到两个文件描述符,一个用来读,一个用来写。   int pipe(int pipefd[2]);//创建管道文件   int fds[2];   int ret=pipe(fds);//fds[0]---读文件描述符  fds[1]---写文件描述符,读取管道文件的时候如果管道中没有数据,则read会阻塞,无名管道只适用于父子进程。 #include <stdio.h> #include <unistd.h> int main() { //创建管道文件 int fds[2]; int ret = pipe(fds); //创建进程 pid_t pid=fork(); if(pid==0){ //关闭读文件描述符 close(fds[0]); //子进程写数据 write(fds[1],"hello world",12); close(fds[1]); } if(pid>0){ //关闭写文件描述符 close(fds[1]); //父进程读取数据 char buf[128]; read(fds[0],buffer,sizeof(buffer)); printf("%s\n",buffer); close(fds[0]); } return 0; } 2.有名管道  

一个jsp页面引入另一个jsp页面的三种方式 及静态引入和动态引入的区别

混江龙づ霸主 提交于 2020-03-10 10:01:15
转载下, 转载自:http://blog.csdn.net/fn_2015/article/details/70311495 1. 第一种:jstl import < c:import url= "inlayingJsp.jsp" > </ c:import > 2. 第二种:jsp include指令 include指令告诉容器:复制被包含文件汇总的所有内容,再把它粘贴到这个文件中。 <%@ include file= "inlayingJsp.jsp" % > 3. 第三种:jsp include动作 < jsp:include page= "inlayingJsp.jsp" flush= "true" /> 注意:(1) include指令在转换时插入“Header.jsp”的源代码,而 <jsp:include>动作在运行时插入“Header.jsp"的响应。 <%@include为静态包含,<%@include不论包含的是txt文本还是jsp文件,被包含的页面都不会从新编译。 <%@include为静态包含,包含了几个JSP转译成servlet时就会有 几 个 class文件,如果在jsp1定义了变量i同时在jsp2也定义了变量i那么你编译都会通不过的, jsp容器会告诉你i重复定义了. <jsp:include 为动态包含,<jsp:include 如包含jsp文件

从源代码重写项目Laplace-Beltrami Operator的笔记——2

时光毁灭记忆、已成空白 提交于 2020-03-10 08:51:09
今天开始写 计算LB算子的class 的声明,其中阅读源代码时遇到一个问题: namespace pclbo { /*从输入的mesh数据中计算Laplace-Beltrami算子 */ # include <vector> # include <numeric> # include <Eigen/Sparse> # include <pcl/common/common_headers.h> # include <pcl/PolygonMesh.h> # include <pcl/conversions.h> class MeshLBOEstimation { public : /*空的构造函数*/ MeshLBOEstimation ( ) : input_mesh_ ( ) , area ( new std :: vector < double > ( ) ) { } /*空的析构函数*/ virtual ~ MeshLBOEstimation ( ) { } inline void setInputMesh ( const pcl :: PolygonMeshConstPtr & input ) { input_mesh_ = input ; } /*计算LB算子*/ void compute ( ) ; /** \brief Surface area */ double