当前位置: 首页 > news >正文

网站备案是否收费在线制作免费生成图片logo

网站备案是否收费,在线制作免费生成图片logo,廉洁文化建设网站,微信开发者工具在哪里下载一、hello 例程仅基于一个cpp文件 C文件或工程进行编译时可以使用g指令#xff08;需要对每一个程序和源文件分别使用g指令编译#xff09;#xff0c;当程序变大时#xff0c;一个工程文件往往会包含很文件夹和源文件#xff0c;这时我们需要的编译指令将越来越长#…一、hello 例程仅基于一个cpp文件 C文件或工程进行编译时可以使用g指令需要对每一个程序和源文件分别使用g指令编译当程序变大时一个工程文件往往会包含很文件夹和源文件这时我们需要的编译指令将越来越长整个编译过程会变得异常繁琐。因此对于C项目使用一些工程管理工具会更加高效。 cmake就是一个在工程上被广泛使用的C工程管理工具很多库都用cmake管理源代码因此了解cmake的指令和过程是很重要的。 1.1 简单的例子直接调用 我们以编译一个简单的C程序为例说明cmake的使用。 在Linux系统根目录下新建一个cppSpace文件夹在该文件夹中新建一个HelloWorld.cpp文件 //这是一个实例文件 #include iostream using namespace std; int main() {cout Hello world! endl;return 0; } 在cppSpace文件夹下新建一个CMakeLists.txt文件(注意该文件的命名不能自己随便改不然编译时会报错)打开该文件使用cmake语法编写一下内容。CMakeLists.txt文件作用是告诉cmake要对这个文件夹(cppSpace文件夹)下的文件做什么。 # 声明要求的cmake最低版本 cmake_minimum_required( VERSION 2.8 )# 声明一个cmake工程 project( HelloWorld )# 添加一个可执行程序 # 语法为 add_executable( 程序名 源代码文件 add_executable(Helloworld HelloWorld.cpp) 创建好上面两个文件。在 cppSpace下创建一个build文件并进行编译 # 新建一个中间目录 build mkdir build # 使终端进入该中间目录 cd build # 使用cmake对工程进行编译注意最后是两个..,表示对上一层目录进行编译 cmake .. # 最后使用make指令进行编译 make 运行编译好的文件 。在build文件夹下执行 ./Helloworld 到此最简单的仅仅使用一个cpp文件的基于cmake的编译就完成了。 1.2 带接口的基于python的调用 创建一个cpp命名为tj.cpp #include string.h #include iostream #include sstream #include stdio.h using namespace std; externC int addtest( int a ,int b); int addtest( int a ,int b) {coutaendl;coutbendl; return ab; } 创建CMakeLists.txt文件内容如下 # cmake needs this line cmake_minimum_required(VERSION 3.23.1)# Define project name project(tj)add_library(tj SHARED tj.cpp) 使用py文件调用 from ctypes import * import sys dll_test CDLL(/data/sdv2/tangjunjun/mmdet2.19/cmake/dll1/build/libtj.so) adll_test.addtest(4,5) print(a) 使用python调用so文件结果 二、基于.h文件和.cpp文件的cmake编译的方法 一般来说一个标准的C项目包括三个文件夹和一个CMakeLists.txt。 include文件夹下存在以.h开头的头文件头文件可能也会以.hh,.hpp开头 src存放的往往是包括.cu,.cpp,.c为后缀的主文件 build文件夹是空的 CMakeLists.txt则编写相关的编译原则来实现编译效果。文件的放置的样子如下图所示 下面举个例子同时包含头文件源文件进行cmake的编译 include/hello.h文件 #pragma once // 只编译一次void printHello(); // 在.h文件申明函数 src/main.cpp文件 #include iostream //C的头文件 #include cpuHello.h //该文件有prinHello函数的申明 int main() {printHello();return 0; } void printHello() // printHello函数定义写在下面如果该函数定义写在main函数前面就不需要申明了 {std::cout hello world\n std::endl; } CMakeLists.txt文件 cmake_minimum_required(VERSION 3.18) # CMake最低版本号要求 project(helloWorld) # 项目名字 # 设置C标准 set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 添加头文件搜索路径 include_directories(include) # 寻找./src下面所有.cpp为后缀的源文件并且保存到SRC变量里面 file(GLOB_RECURSE SRC ./src/*.cpp) # 编译SRC变量存储的源文件编译生成目标文件命名为hello add_executable(hello ${SRC}) 有了上面的三个文件以后下面开始编译代码 cd build进入build文件夹注意build文件夹刚开始是一个空文件夹 cmake ../这个命令会在build里面生成对应的Makefile以及其他文件 make这个命令会直接寻找build文件夹内的Makefile文件执行编译过程 上面三个命令结束以后build会产生一个hello的可执行文件然后./hello就可以执行打印了。 我们注意到CMakeLists.txt里面只是定义了不同文件的位置以及编译方式其实没有指定编译器但是系统会自动根据这个CMakeLists.txt寻找编译器编译文件这个就是CMakeLists.txt优越简单的地方。 如果涉及到多种.cu .c等文件可以参考以下链接实现 https://zhuanlan.zhihu.com/p/690410193 三、使用opencv库的编译  创建了一个工程文件夹在文件夹中创建三个目录 images、out、src 分别用来存放 需要处理和保存的图像编译输出的可执行文件 进入src目录中创建两个目录 include、source和CMakeLists.txt 文件。其中source用来存放程序的源文件include用于存放头文件。 整个工程的目录结构如下 创建两个源文件 main.cpp 文件 ColChange.cpp 文件存放在在source目录中在include目录中创建 ColChange.h文件 main.cpp #include stdio.h #include opencv2/opencv.hpp #include ColChange.h//using namespace cv; using namespace std;int main(int argc, char** argv ) {//读取图片将图片存为Mat类的image实例中Mat image imread(../images/123.jpg);if(image.empty()){printf(could not load image...\n);return -1;}//实例化一个QuickDemoQuickDemo qd;//qd.colorSpace_Demo(image);//qd.mat_creat_demo(image);qd.pixel_visit_demo(image);//创建窗口SSJ//cv::namedWindow(SSJ,WINDOW_FREERATIO);//在SSJ窗口上显示图片//cv::imshow(SSJ, image);//显示状态阻塞cv::waitKey(0);return 0; } ColChange.cpp #include ColChange.h/** Author:SSJ-xiaoguoke* Funtion:转换图像的色彩空间,transform the color space of the image*/ void QuickDemo::colorSpace_Demo(Mat image) {Mat gray,hsv;cvtColor(image,hsv,COLOR_BGR2HSV);cvtColor(image, gray,COLOR_BGR2GRAY);imshow(HSV,hsv);imshow(huidu,gray);imwrite(../images/hsv.jpg,hsv);imwrite(../images/gray.jpg,gray);}/** Author:SSJ-xiaoguoke* Funtion:创建Mat对象,Creating an image object*/ void QuickDemo::mat_creat_demo(Mat image) {Mat m1,m2;m1 image.clone();image.copyTo(m2);/** Size(8,8):创建的矩阵尺寸为 8*8* CV_8UC1:8位 U:无符号unsigned C:char型 1:单通道*///Mat m3 Mat::zeros(Size(8,8),CV_8UC1);/*三通道*/Mat m3 Mat::zeros(Size(500,500),CV_8UC3);/*创建一个值全是1的矩阵*///Mat m3 Mat::ones(Size(8,8),CV_8UC1);m3 Scalar(0,0,255);//std::cout m3 std::endl;imshow(red,m3);}/** Author:SSJ-xiaoguoke* Funtion:像素操作,Pixel operations*/ void QuickDemo::pixel_visit_demo(Mat image) {int W image.cols;int h image.rows;int dims image.channels();/*for(int row0; row h; row){for(int col0; colW; col){if(dims1){int pv image.atuchar(row,col);image.atuchar(row,col) 255 - pv;}if(dims3){Vec3b bgr image.atVec3b(row,col);image.atVec3b(row,col)[0] 255 - bgr[0];image.atVec3b(row,col)[1] 255 - bgr[1];image.atVec3b(row,col)[2] 255 - bgr[2];}}}*//*通过指针的方法实现*/for(int row0;row h; row){uchar* current_row image.ptruchar(row);for(int col0;col W;col){if(dims1){int pv *current_row;*current_row 255-pv;}if(dims3){*current_row 255 - *current_row;*current_row 255 - *current_row;*current_row 255 - *current_row;}}}imshow(Pixel operations,image);} ColChange.h #include opencv2/opencv.hppusing namespace cv; using namespace std;class QuickDemo {public:void colorSpace_Demo(Mat image);void mat_creat_demo(Mat image);void pixel_visit_demo(Mat image);}; 代码编写完成之后进入src目录中执行指令编译工程  1 cmake ./ 2 make 如果没有安装opencv则会报错编译失败需要先安装opencv。安装方法参考链接OpenCV介绍及安装linux_linux opencv-CSDN博客 如果安装了opencv则会正常编译编译完成之后会在out目录下输出一个叫 test的可执行文件。在image下面放一张图片 改名为123.jpg可以修改代码来修改加载的图片名字 进入out目录执行下面的语句 ./test
http://www.hkea.cn/news/14446209/

相关文章:

  • 盐城网站开发厂商网站如何实现临时聊天
  • 制作好的网站建设部二级结构工程师注销网站
  • 怎样在外管局网站做延期付款织梦网站tag自定义插件
  • 住房和城乡建设部建设司网站首页建筑木方规格尺寸表详细
  • 小米手机网站架构云主机可以放几个网站
  • 厦门网站制韩国有哪些专业做汽车的网站?
  • 企业网站建设哪家效果好wordpress 软件主题
  • 南宁新技术产业建设开发总公司网站用虚拟主机好还是阿里云wordpress
  • 上市公司网站建设报价php网站怎么建设
  • 重庆网站设计最加科技如何给一个网站做优化
  • 网站建设前规划中英繁网站
  • 网站开发快速盈利群辉wordpress阿里云ssl
  • 帝国cms生成网站地图wordpress博客背景
  • qq推广引流网站wordpress 搜索伪静态
  • 济宁做网站有哪几家网页版qq怎么登陆
  • 六安seo网站推广报价网站域名的作用是什么意思
  • 网站备案过户 主体需要一致么网页ui设计的内容有哪些
  • 网站建设亿玛酷正规外贸网站用什么字体
  • 怎样做卡盟网站如何运营电商平台
  • 网站用户告知书织梦网站关闭
  • 简单的个人网站下载搭建网站要多少钱
  • 中国城乡建设结合部网站cmsv7
  • 网站平台延展性网站目标定义
  • 苏州人才网深圳网站优化推广
  • 网站建设的工具优秀个人博客网站
  • 昆山网站建设推广乐清网站优化推广
  • 广告网站开发背景asp.net 网站管理工具 遇到错误
  • 宁波网站建设地址顺义建设工程交易中心网站
  • 建设网站如何弄好几张网站背景如何用易语言做网站辅助
  • 什么不属于网站推广软件城乡建设网站首页