文档视界 最新最全的文档下载
当前位置:文档视界 › Opencv程序(调试过的)

Opencv程序(调试过的)

Opencv程序(调试过的)
Opencv程序(调试过的)

1. 前个不能调试出来,后面一个能够调试出来

#include"highgui.h"

int main(int argc,char** argv) // argc指的是命令行参数的个数

{

IplImage* img=cvLoadImage(argv[1]);// argv[1]指的是数组

cvNamedWindow("QQ",CV_WINDOW_AUTOSIZE);

cvShowImage("QQ",img);

cvWaitKey(0);

cvReleaseImage(&img);

cvDestroyWindow("QQ");

}

#include"highgui.h"

int main(int argc,char** argv)

{

IplImage* img=cvLoadImage("D:\\2.jpg"); //把这个地址改成这样就能够打开了 cvNamedWindow("QQ",CV_WINDOW_AUTOSIZE);

cvShowImage("QQ",img);

cvWaitKey(0);

cvReleaseImage(&img);

cvDestroyWindow("QQ");

}

2.D盘加载图片

#include"highgui.h"

void main()

{

IplImage *img=cvLoadImage("D:\\2.jpg");

cvNamedWindow("example1",CV_WINDOW_AUTOSIZE);

cvShowImage("example1",img);

cvWaitKey(0);

cvReleaseImage(&img);

cvDestroyWindow("example1");

}

3.D盘打开一张图片

#include

#include

using namespace cv;

int main()

{

namedWindow("wnd");

Mat img;

img= imread("D://02.JPG"); //image path

imshow("wnd",img);

cvWaitKey();

return 0;

}

4.Lov_zhu图片打开

#include

#include

int main()

{

const char* filename = "d:\\2.jpg" ;//从D盘打开图片,文件路径名!注意,双斜杠!!

const char* wndname = "lov_zhu" ; //打开图片的标题栏名称

IplImage* pImage = cvLoadImage(filename,CV_LOAD_IMAGE_COLOR) ;

cvNamedWindow(wndname,CV_WINDOW_AUTOSIZE);

cvShowImage(wndname,pImage);

cvWaitKey(0);

cvReleaseImage(&pImage);

cvDestroyWindow(wndname);

return 0;

}

5.打开一个视频

#include"highgui.h"

int main( int argc,char** argv)

{

cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE );

CvCapture* capture = cvCreateFileCapture( "D:\\南非avika.avi ");

IplImage* frame;

while(1)

{

frame=cvQueryFrame(capture);

if(!frame) break;

cvShowImage("Example2",frame);

char c=cvWaitKey(33);

if(c==27)break;

}

cvReleaseCapture(&capture);

cvDestroyWindow("Example2");

}

6.视频播放控制未成功

/* #include"cv.h"

#include"highgui.h"

int g_slider_position = 0;

CvCapture* g_capture = NULL;

void onTrackbarSlide(int pos)

{

cvSetCaptureProperty(

g_capture,

CV_CAP_PROP_POS_FRAMES,

pos

);

}

int main( int argc,char** argv)

{

cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);

g_capture = cvCreateFileCapture("D:\\南非avika.avi");

int frames =(int) cvGetCaptureProperty(

g_capture,

CV_CAP_PROP_FRAME_COUNT

);

if(frames!= 0 )

{

cvCreateTrackbar(

"Position",

"Example3",

&g_slider_position,

frames,

onTrackbarSlide

);

}

IplImage* frame;

// While loop (as in Example 2) capture & show video;...

//Release memory and destroy window;

...

return(0);

}

*/

#include"cv.h"

#include"highgui.h"

int g_slider_position = 0;

CvCapture* g_capture = NULL;

void onTrackbarSlide(int pos)

{

cvSetCaptureProperty(

g_capture,

CV_CAP_PROP_POS_FRAMES,

pos

);

}

int main( int argc,char** argv)

{

cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);

g_capture = cvCreateFileCapture("D:\\南非avika.avi");

int frames =(int) cvGetCaptureProperty(

g_capture,

CV_CAP_PROP_FRAME_COUNT

);

if(frames!= 0 )

{

cvCreateTrackbar(

"Position",

"Example3",

&g_slider_position,

frames,

onTrackbarSlide

);

}

IplImage* frame;

while(1)

{

frame=cvQueryFrame(g_capture);

if(!frame) break;

cvShowImage("Example2",frame);

char c=cvWaitKey(33);

if(c==27)break;

}

cvReleaseCapture(&g_capture);

cvDestroyWindow("Example2");

return(0);

}

例2-10 Page32 一个完整的程序用来实现读入一个彩色视频文件并以灰度格式输出这个视频文件

//Convert a video to grayscale

//argv[1]:input video file

//argv[2]:name of new output file

//

#include"cv.h"

#include"highgui.h"

main( int argc, char* argv[])

{

CvCapture* capture=0;

capture=cvCreateFileCapture( "D:\\南非avika.avi");

if(!capture)

{

return -1;

}

IplImage *bgr_frame=cvQueryFrame(capture);//Init the video read

double fps=cvGetCaptureProperty(

capture,

CV_CAP_PROP_FPS

);

CvSize size=cvSize(

(int)cvGetCaptureProperty( capture,CV_CAP_PROP_FRAME_WIDTH),

(int)cvGetCaptureProperty( capture,CV_CAP_PROP_FRAME_HEIGHT)

);

CvVideoWriter *writer=cvCreateVideoWriter(

argv[2],

CV_FOURCC('M','J','P','G'),

fps,

size

);

IplImage* logpolar_frame=cvCreateImage(size,

IPL_DEPTH_8U,

3

);

while( (bgr_frame=cvQueryFrame(capture)) !=NULL)

{

cvLogPolar( bgr_frame,logpolar_frame,

cvPoint2D32f(bgr_frame->width/2,

bgr_frame->height/2),

40,

CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);

cvWriteFrame(writer,logpolar_frame);

}

cvReleaseVideoWriter(&writer);

cvReleaseImage(&logpolar_frame);

cvReleaseCapture(&capture);

return (0);

}

3.4 Canny边缘检测

例一:

#include "cv.hpp"

#include "cxcore.hpp"

#include "opencv2\highgui\highgui.hpp"

using namespace cv;

using namespace std;

int edgeThresh =1;

// 声明原始图片,灰度图片,和 canny边缘图片

Mat image, cedge;

Mat gray, edge;

void onTrackbar(int, void*)

{

//blur 灰度图片

blur(gray, edge, Size(3,3));

// Canny 边缘检测

Canny(gray,edge, edgeThresh, edgeThresh*3, 3);

//全部设为0

cedge = Scalar::all(0);

//拷贝边缘的象素点

image.copyTo(cedge, edge);

imshow("Edge map", edge);

}

int main(int argc, char** argv)

{

// 载入图片

image = imread(argv[1], 1);

// image = imread("D:\\2.jpg", 1); 改成这样,加路径

// 判断载入图片是否成功

if(image.empty())

{

printf("miss the image file: %d \n", argv[1]);

return-1;

}

// 生成灰度图片,因为只有灰度图片才能生成边缘图片

cedge.create(image.size(), image.type());

cvtColor(image,gray, CV_BGR2GRAY);

//新建一个窗口

namedWindow("Edge map", 1);

// 生成一个进度条来控制边缘检测

createTrackbar("Canny Threshold", "Edge map",

&edgeThresh, 100, onTrackbar);

//初始化图像

onTrackbar(0,0);

waitKey(0);

return0;

}

运行结果:Canny边缘检测1

运行结果:Canny边缘检测2

代码:

#ifdef _CH_

#pragma package #endif

#ifndef _EiC

#include "cv.h"

#include "cxcore.h"

#include "highgui.h"

#endif

char wndname[]="Edge";

char tbarname[]="Threshold";

IplImage *image =0,*cedge =0,*gray =0,*edge =0;

// define a trackbar callback

void on_trackbar(int h)

{

cvSmooth( gray, edge, CV_BLUR,3,3,0,0);

cvNot( gray, edge );

// Run the edge detector on grayscale

cvCanny(gray, edge,(float)h,(float)h*3,3);

cvZero( cedge );

// copy edge points

cvCopy( image, cedge, edge );

cvShowImage(wndname, cedge);

}

int main(int argc,char** argv )

{

char*filename =argc ==2?argv[1]:(char*)"fruits.jpg";

int edge_thresh =1;

if((image = cvLoadImage( filename,1))==0)

return-1;

// Create the output image

cedge =

cvCreateImage(cvSize(image->width,image->height),

IPL_DEPTH_8U,3);

// Convert to grayscale

gray =cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U,1);

edge =cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U,1);

cvCvtColor(image, gray, CV_BGR2GRAY);

// Create a window

cvNamedWindow(wndname,1);

// create a toolbar

cvCreateTrackbar(tbarname, wndname,&edge_thresh,100, on_trackbar);

// Show the image

on_trackbar(0);

// Wait for a key stroke; the same function arranges events processing

cvWaitKey(0);

cvReleaseImage(&image);

cvReleaseImage(&gray);

cvReleaseImage(&edge);

cvDestroyWindow(wndname);

return0;

}

#ifdef _EiC

main(1,"edge.c");

#endif

1个简单的批处理让你的电脑免疫所有木马病毒

1个简单的批处理让你的电脑免疫所有木马病毒 为了编写这这个批处理程序,本人整整研究了1个多星期,终于完成了,给大家分享。不发附件,因为下载要钱的,我要的是让大家都可以免费获得这个好程序。我把原代码发上来! 觉得的好的,只需要帮我顶下帖子就行!谢谢!! @echo off color 0a echo ****************************************************************************** echo * * echo * 现在进行机器狗免疫 * echo * * echo ****************************************************************************** md C:\WINDOWS\system32\wxptdi.sys 2>nul md C:\WINDOWS\system32\wxptdi.sys\1..\ 2>nul md C:\WINDOWS\system32\fat32.sys 2>nul md C:\WINDOWS\system32\fat32.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\ati32srv.sys 2>nul md C:\WINDOWS\system32\drivers\ati32srv.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pcibus.sys 2>nul md C:\WINDOWS\system32\drivers\pcibus.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pcidisk.sys 2>nul md C:\WINDOWS\system32\drivers\pcidisk.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pcihdd.sys 2>nul md C:\WINDOWS\system32\drivers\pcihdd.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\phy.sys 2>nul md C:\WINDOWS\system32\drivers\phy.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pop.sys 2>nul md C:\WINDOWS\system32\drivers\pop.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\puid.sys 2>nul md C:\WINDOWS\system32\drivers\puid.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\usb32k.sys 2>nul md C:\WINDOWS\system32\drivers\usb32k.sys\1..\ 2>nul md C:\WINDOWS\system32\2dogkiller.sys 2>nul md C:\WINDOWS\system32\2dogkiller.sys\1..\ 2>nul attrib C:\WINDOWS\system32\wxptdi.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\fat32.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\ati32srv.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\ati32srv.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\pcidisk.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\pcihdd.sys +s +h +r +a 2>nul

简易计算器的设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:单片机系统综合课程设计课程设计题目:简易计算器的设计与实现 院(系): 专业: 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章总体设计方案 (1) 1.1设计内容 (1) 1.2设计原理 (1) 1.3设计思路 (2) 1.4实验环境 (2) 第2章详细设计方案 (3) 2.1硬件电路设计 (3) 2.2主程序设计 (7) 2.2功能模块的设计与实现 (8) 第3章结果测试及分析 (11) 3.1结果测试 (11) 3.2结果分析 (11) 参考文献 (12) 附录1 元件清单 (13) 附录2 总电路图 (14) 附录3 程序代码 (15)

第1章总体设计方案 1.1 设计内容 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4×4矩阵键盘。显示采用6位8段共阳极数码管动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。 1.2 设计原理 在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。 1)提出方案 以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。 2) 总体方案实现 (1)要解决键值得读入。先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码

查木马的简单方法

查木马的简单方法 当前最为常见的木马通常是基于TCP/UDP协议进行client端与server端之间的通讯的,既然利用到这两个协议,就不可避免要在server端(就是被种了木马的机器了)打开监听端口来等待连接。例如鼎鼎大名的冰河使用的监听端口是7626,Back Orifice 2000则是使用54320等等。那么,我们可以利用查看本机开放端口的方法来检查自己是否被种了木马或其它黑客程序。以下是详细方法介绍。 1.Windows本身自带的netstat命令 关于netstat命令,我们先来看看windows帮助文件中的介绍: Netstat 显示协议统计和当前的TCP/IP 网络连接。该命令只有在安装了TCP/IP 协议后才可以使用。 netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval] 参数 -a 显示所有连接和侦听端口。服务器连接通常不显示。 -e 显示以太网统计。该参数可以与-s 选项结合使用。 -n 以数字格式显示地址和端口号(而不是尝试查找名称)。 -s 显示每个协议的统计。默认情况下,显示TCP、UDP、ICMP 和IP 的统计。-p 选项可以用来指定默认的子集。 -p protocol 显示由protocol 指定的协议的连接;protocol 可以是tcp 或udp。如果与-s 选项一同使用显示每个协议的统计,protocol 可以是tcp、udp、icmp 或ip。 -r 显示路由表的内容。 interval 重新显示所选的统计,在每次显示之间暂停interval 秒。按CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。 好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数: C:\>netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:80 0.0.0.0:0 LISTENING TCP 0.0.0.0:21 0.0.0.0:0 LISTENING TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING UDP 0.0.0.0:445 0.0.0.0:0 UDP 0.0.0.0:1046 0.0.0.0:0 UDP 0.0.0.0:1047 0.0.0.0:0

第二章 简单的VB程序设计习题

第二章简单的VB程序设计习题 一、选择题 1. 假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先执行的操作是 ()。 (A)单击窗体上没有控件的地方(B)单击任一个控件 (C)不执行任何操作(D)双击窗体的标题栏 2. 在VB中最基本的对象是(),它是应用程序的基石,是其它控件的容器。 (A)文本框(B)命令按钮 (C)窗体(D)标签 3. 有程序代码如下:text1.text=“visual basic”则:text1、text和“visual basic”分别代表()。 (A)对象,值,属性(B) 对象,方法,属性 (C)对象,属性,值(D) 属性,对象,值 4. VB是一种面向对象的程序设计语言,()不是面向对象系统所包含的三要素。 (A)变量(B)事件(C)属性(D)方法 5. VB的一个应用程序至少包括一个()文件,该文件存储窗体上使用的所有控件对象和有关的()、 对象相应的()过程和()代码。 (A)模块、方法、事件、程序(B)窗体、属性、事件、程序 (C)窗体、程序、属性、事件(D)窗体、属性、事件、方法 6. 在VB6.0环境已有应用程序的情况下,要重新建立一个工程的操作是()。 (A)单击工具栏上的“添加工程”按钮 (B)在工程资源管理器窗口上单击右键,在弹出的快捷菜单中选择“新建工程”选项 (C)选择“文件”菜单中的“新建工程” (D)选择“视图”菜单中的“新建工程” 7. 为了把窗体上的某个控件变为活动,应执行的操作是()。 (A)单击窗体的边框(B)单击该控件的内部 (C)双击该控件(D)双击窗体 8. 确定一个控件在窗体上的位置的属性是()。 (A)Width和Height (B)Width或Height (C)Top和Left (D)Top或Left 9. 确定一个窗体或控件的大小的属性是()。 (A)Width和Height (B)Width或Height (C)Top和Left (D)Top或Left 10. 对于窗体,下面()属性可以在程序运行时进行设置。 (A)MaxButton (B)BorderStyle (C)Name (D)Left 11. 要使Print方法在Form_Load事件中起作用,要对窗体的()属性进行设置。 (A)BackColor (B)BorderStyle (C)AutoRedraw (D)Caption 12. 要使标签控件显示时不覆盖其背景内容,要对()属性进行设置。 (A)BackColor (B)BorderStyle (C)ForeColor (D)BackStyle 13. 要使对象看得见而不可操作,要对()属性设置。 (A)Enabled (B)Visible (C)BackColor (D)Caption 14. 文本框没有()属性。

木马程序是如何实现隐藏的

木马程序是如何实现隐藏的 木马是一种基于远程控制的病毒程序,该程序具有很强的隐蔽性和危害性,它可以在人不知鬼不觉的状态下控制你或者监视你。有人说,既然木马这么厉害,那我离它远一点不就可以了!然而这个木马实在是“淘气”,它可不管你是否欢迎,只要它高兴,它就会想法设法地闯到你“家”中来的!哎呀,那还了得,赶快看看自己的电脑中有没有木马,说不定正在“家”中兴风作浪呢!那我怎么知道木马在哪里呢,相信不熟悉木马的菜鸟们肯定想知道这样的问题。下面就是木马潜伏的诡招,看了以后不要忘记采取绝招来对付这些损招哟! 1、集成到程序中 其实木马也是一个服务器-客户端程序,它为了不让用户能轻易地把它删除,就常常集成到程序里,一旦用户激活木马程序,那么木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。绑定到某一应用程序中,如绑定到系统文件,那么每一次Windows启动均会启动木马。 2、隐藏在配置文件中 木马实在是太狡猾,知道菜鸟们平时使用的是图形化界面的操作系统,对于那些已经不太重要的配置文件大多数是不闻不问了,这正好给木马提供了一个藏身之处。而且利用配置文件的特殊作用,木马很容易就能在大家的计算机中运行、发作,从而偷窥或者监视大家。不过,现在这种方式不是很隐蔽,容易被发现,所以在Autoexec.bat和Config.sys中加载木马程序的并不多见,但也不能因此而掉以轻心哦。 3、潜伏在Win.ini中 木马要想达到控制或者监视计算机的目的,必须要运行,然而没有人会傻到自己在自己的计算机中运行这个该死的木马。当然,木马也早有心理准备,知道人类是高智商的动物,不会帮助它工作的,因此它必须找一个既安全又能在系统启动时自动运行的地方,于是潜伏在Win.ini中是木马感觉比较惬意的地方。大家不妨打开Win.ini来看看,在它的[windows]字段中有启动命令“load=”和“run=”,在一般情况下“=”后面是空白的,如果有后跟程序,比方说是这个样子:run=c:\windows\file.exe load=c:\windows\file.exe 这时你就要小心了,这个file.exe很可能是木马哦。 4、伪装在普通文件中 这个方法出现的比较晚,不过现在很流行,对于不熟练的windows操作者,很容易上当。具体方法是把可执行文件伪装成图片或文本----在程序中把图标改成Windows的默认图

OPENCV静态编译与动态编译

一、序言 当一个opencv工程实现之后,我们会面临一个问题,怎么把opencv程序的exe在其他电脑上运行,这个问题已经有很多人遇到过,当然也有很多人给出了博客,介绍了具体的解决方法,具体自己操作时,还是遇到了这样或者那样的小毛病,不过凭借自己根据错误提示解决问题的能力,最后还是把静态编译给编译成功了。 本文介绍两种opencv程序移植到其他电脑运行的方法,一种是动态编译,需要拷贝程序运行需要的dll,也就是-个exe跟着多个dll的模式,这种简单粗暴,但是显得拖拖拉拉,一个程序还得跟着那么多其他文件,所以我们很不推荐。另外一种就是本文主要介绍的静态编译,和之前运行不一样,我们在这使用的不是opencv的lib库,而是staticlib,编译成功之后,程序只需要拷贝一个exe,就可以在其他电脑上运行。 另外介绍一下本文测试程序工作的程序配置 操作系统Win7 IDE VS2010 opencv版本opencv2.4.5 二、动态编译 为了做一个全面的总结,在这简单的介绍opencv动态编译的方法。 opencv动态编译需要两部分dll: (1)opencv库的dll,检查你所引用的h文件,把对应的dll,拷贝过来就行,注意debug和release的不同,当然一般程序发布的话都会用release版本的,因为release版本比debug版本要快10倍有余。 (2)考虑到目标终端有可能没有装vs,所以需要拷贝msvcp110.dll和msvcr110.dll(release下),dll在C:/Windows/System32下。 三、静态编译 静态编译主要的不同就是利用的是 H:/Opencv2.4.5/opencv/build/x86/vc11/staticlib文件下的lib,而非 H:/Opencv2.4.5/opencv/build/x86/vc11/lib文件夹。具体配置如下: 1.新建空项目,项目名称Static_Opencv

第2章 简单的C#程序设计 习题

第2章简单的C#程序设计 一.选择题 1.C#中程序的入口方法是【】方法。 A) main B) Main C) begin D) Program 2.假设变量x的值为25,要输出x的值,下列正确的语句是【】。 A) System.Console.writeline(“x”);B) System.Console.WriteLine(“x”); C) System.Console.WriteLine(“x={0}”,x);D) System.Console.WriteLine(“x={x}”); 3.要退出应用程序的执行,应执行下列的【】语句。 A) Application.Exit(); B) Application.Exit; C) Application.Close(); D) Application.Close; 4.关于C#程序的书写,下列不正确的说法是【】。 A) 区分大小写 B) 一行可以写多条语句 C) 一条语句可以写成多行 D) 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。 5.公共语言运行库即【】。 A) CRL B) CLR C) CRR D) CLS 6..NET平台是一个新的开发框架,【】是.NET的核心部分。 A) C# B) .NET Framework C) https://www.docsj.com/doc/fb16211889.html, D) 公共语言运行库 7.C#应用程序项目文件的扩展名是【】。 A) csproj B) cs C) sln D) suo 8.C#应用程序解决方案文件的扩展名是【】。 A) csproj B) cs C) sln D) suo 9.运行C#程序可以通过按【】键实现。 A) F5B) Alt+F5 C) Ctrl+F5 D) Alt+Ctrl+F5 10.C#语言中类模块代码文件的扩展名是【】。 A) csproj B) cs C) sln D) suo 11.构建桌面应用程序需要.NET提供的类库是【】。 A) https://www.docsj.com/doc/fb16211889.html, B) Windows Form C) XML D) https://www.docsj.com/doc/fb16211889.html, 12.C#中导入某一命名空间的关键字是【】。 A) use B) using C) import D) include 13..NET Framework将【】定义为一组规则,所有.NET语言都应遵守这个规则,才能创建可以与其他语言互操作的应用程序。 A) JIT B) CLR C) MSIL D) https://www.docsj.com/doc/fb16211889.html, 14.在https://www.docsj.com/doc/fb16211889.html,中,在【】中可以查看当前项目的类和类的层次信息。 A) 解决方案资源管理器B) 类视图窗口 C) 对象浏览器窗口D) 属性窗口 15.在.NET Framewor中,MSIL是指【】 A) 接口限制B)中间语言C) 核心代码D) 类库16.【】是独立于CPU的指令集,它可以被高效地转换为本机机器语言。

教你如何识别进程中的木马程序

任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程成为我们检测病毒木马最直接的方法。但是系统中同时运行的进程那么多,哪些是正常的系统进程,哪些是木马的进程,而经常被病毒木马假冒的系统进程在系统中又扮演着什么角色呢?请看本文。 病毒进程隐藏三法 当我们确认系统中存在病毒,但是通过“任务治理器”查看系统中的进程时又找不出异样的进程,这说明病毒采用了一些隐藏措施,总结出来有三法: 1.以假乱真 系统中的正常进程有:svchost.exe、explorer.exe、iexplore.exe、winLOGOn.exe等,可能你发现过系统中存在这样的进程:svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe。对比一下,发现区别了么?这是病毒经常使用的伎俩,目的就是迷惑用户的眼睛。通常它们会将系统中正常进程名的o改为0,l改为i,i改为j,然后成为自己的进程名,仅仅一字之差,意义却完全不同。又或者多一个字母或少一个字母,例如explorer.exe和iexplore.exe本来就轻易搞混,再出现个iexplorer.exe就更加混乱了。假如用户不仔细,一般就忽略了,病毒的进程就逃过了一劫。 2.偷梁换柱 假如用户比较心细,那么上面这招就没用了,病毒会被就地正法。于是乎,病毒也学聪明了,懂得了偷梁换柱这一招。假如一个进程的名字为svchost.exe,和正常的系统进程名分毫不差。那么这个进程是不是就安全了呢?非也,其实它只是利用了“任务治理器”无法查看进程对应可执行文件这一缺陷。我们知道svchost.exe进程对应的可执行文件位于“C:\WINDOWS\system32”目录下(Windows2000则是C:\WINNT\system32目录),假如病毒将自身复制到“C:\WINDOWS\”中,并改名为svchost.exe,运行后,我们在“任务治理器”中看到的也是svchost.exe,和正常的系统进程无异。你能辨别出其中哪一个是病毒的进程吗? 3.借尸还魂 除了上文中的两种方法外,病毒还有一招终极大法——借尸还魂。所谓的借尸还魂就是病毒采用了进程插入技术,将病毒运行所需的dll文件插入正常的系统进程中,表面上看无任何可疑情况,实质上系统进程已经被病毒控制了,除非我们借助专业的进程检测工具,如卡卡助手中的功能,否则要想发现隐藏在其中的病毒是很困难的。 系统进程解惑 上文中提到了很多系统进程,这些系统进程到底有何作用,其运行原理又是什么?下面我们将对这些系统进程进行逐一讲解,相信在熟知这些系统进程后,就能成功破解病毒的“以假乱真”和“偷梁换柱”了。 svchost.exe

基于Opencv的人脸检测源程序(附详细使用说明)

基于Opencv的人脸检测程序 我的电脑上是用visual studio 2015,配置opencv2.4.9,visuanl studio加载opencv的方法百度上可以找到很多,按照要求配置好后以后进行一下操作: 第一步:新建win32应用程序的工程,在该工程以下程序复杂被覆盖win32的几行程序, #include"stdafx.h" #include"opencv2/objdetect.hpp" #include"opencv2/videoio.hpp" #include"opencv2/highgui.hpp" #include"opencv2/imgproc.hpp" #include #include using namespace std; using namespace cv; /** Function Headers */ void detectAndDisplay(Mat frame); /** Global variables */ String face_cascade_name = "haarcascade_frontalface_alt.xml"; String eyes_cascade_name = "haarcascade_eye_tree_eyeglasses.xml"; CascadeClassifier face_cascade; CascadeClassifier eyes_cascade; String window_name = "Capture - Face detection"; /** @function main */ int main(void) { VideoCapture capture; Mat frame; //-- 1. Load the cascades if (!face_cascade.load(face_cascade_name)) { printf("--(!)Error loading face cascade\n"); return -1; }; if (!eyes_cascade.load(eyes_cascade_name)) { printf("--(!)Error loading eyes cascade\n"); return -1; }; //-- 2. Read the video stream capture.open(-1); if (!capture.isOpened()) { printf("--(!)Error opening video capture\n"); return -1; }

单片机简易计算器课程设计

单片机简易计算器课程设计 课程设计 题目名称________________ 简易计算器设计____________ 课程名称_____________ 单片机原理及应用____________ 学生姓名________________

班级学号________________ 2018年6月20日

目录 一设计目的 (2) 二总体设计及功能介绍 (2) 三硬件仿真图 (3) 四主程序流程图 (4) 五程序源代码 (5) 六课程设计体会 (28)

设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUE仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51 系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0?9)、符号键(+、-、x、十)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘;

执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

实验1-木马病毒攻防

南昌航空大学实验报告 二〇一三年十一月八日 课程名称:信息安全实验名称:实验1木马攻击与防范 班级:xxx 姓名:xxx 同组人: 指导教师评定:签名: 一、实验目的 通过对木马的练习,使读者理解和掌握木马传播和运行的机制;通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。 二、实验原理 木马的全称为特洛伊木马,源自古希腊神话。木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和修改文件、发送密码、记录键盘、实施DOS攻击甚至完全控制计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。 1.木马的特性 木马程序为了实现其特殊功能,一般应该具有以下性质: (1)伪装性(2)隐藏性(3)破坏性(4)窃密性 2.木马的入侵途径 木马入侵的主要途径是通过一定的欺骗方法,如更改图标、把木马文件与普通文件合并,欺骗被攻击者下载并执行做了手脚的木马程序,就会把木马安装到被攻击者的计算机中。木马也可以通过Script、ActiveX及ASP、CGI交互脚本的方式入侵,攻击者可以利用浏览器的漏洞诱导上网者单击网页,这样浏览器就会自动执行脚本,实现木马的下载和安装。木马还可以利用系统的一些漏洞入侵,获得控制权限,然后在被攻击的服务器上安装并运行木马。3.木马的种类 (1)按照木马的发展历程,可以分为4个阶段:第1代木马是伪装型病毒;第2代木马是网络传播型木马;第3代木马在连接方式上有了改进,利用了端口反弹技术,例如灰鸽子木马;第4代木马在进程隐藏方面做了较大改动,让木马服务器端运行时没有进程,网络操作插入到系统进程或者应用进程中完成,例如广外男生木马。 (2)按照功能分类,木马又可以分为:破坏型木马;密码发送型木马;服务型木马;DOS 攻击型木马;代理型木马;远程控制型木马。 4.木马的工作原理 下面简单介绍一下木马的传统连接技术、反弹端口技术和线程插入技术。 (1)木马的传统连接技术;C/S木马原理如图1-1所示。第1代和第2代木马都采用的是C/S连接方式,这都属于客户端主动连接方式。服务器端的远程主机开放监听端目等待外部的连接,当入侵者需要与远程主机连接时,便主动发出连接请求,从而建立连接。 (2)木马的反弹端口技术;随着防火墙技术的发展,它可以有效拦截采用传统连接方式。但防火墙对内部发起的连接请求则认为是正常连接,第3代和第4代“反弹式”木马就是利用这个缺点,其服务器端程序主动发起对外连接请求,再通过某些方式连接到木马的客户端,如图1-2和图1-3所示。

OpenCV最基础的图像处理的例子

?什么是OpenCV ?开源C/C++计算机视觉库. ?面向实时应用进行优化. ?跨操作系统/硬件/窗口管理器. ?通用图像/视频载入、存储和获取. ?由中、高层API构成. ?为Intel?公司的Integrated Performance Primitives (IPP) 提供了透明接口. ?特性: ?图像数据操作(分配,释放, 复制, 设定, 转换). ?图像与视频I/O (基于文件/摄像头输入, 图像/视频文件输出). ?矩阵与向量操作与线性代数计算(相乘, 求解, 特征值, 奇异值分解SVD). ?各种动态数据结构(列表, 队列, 集, 树, 图). ?基本图像处理(滤波, 边缘检测, 角点检测, 采样与插值, 色彩转换, 形态操作, 直方图, 图像金字塔). ?结构分析(连接成分, 轮廓处理, 距离转换, 模板匹配, Hough转换, 多边形近似, 线性拟合, 椭圆拟合, Delaunay三角化). ?摄像头标定 (寻找并跟踪标定模板, 标定, 基础矩阵估计, homography估计, 立体匹配). ?动作分析(光流, 动作分割, 跟踪). ?对象辨识 (特征方法, 隐马可夫链模型HMM). ?基本GUI(显示图像/视频, 键盘鼠标操作, 滚动条). ?图像标识 (直线, 圆锥, 多边形, 文本绘图) ?OpenCV 模块: ?cv - OpenCV 主要函数. ?cvaux - 辅助(实验性) OpenCV 函数. ?cxcore - 数据结构与线性代数算法. ?highgui - GUI函数. 资料链接 ?参考手册: ?/docs/index.htm ?网络资源: ?官方网页: https://www.docsj.com/doc/fb16211889.html,/technology/computing/opencv/?软件下载: https://www.docsj.com/doc/fb16211889.html,/projects/opencvlibrary/ ?书籍: ?Open Source Computer Vision Library by Gary R. Bradski, Vadim Pisarevsky, and Jean-Yves Bouguet, Springer, 1st ed. (June, 2006). ?视频处理例程(位于/samples/c/目录中): ?色彩跟踪: camshiftdemo ?点跟踪: lkdemo

最简单的程序设计

《程序设计语言 C1》随机作业题 做作业时间:2013-4-23 8:00:00至2013-5-23 8:00:00 1、以下合法的赋值语句是(3分) B A、B、C、D、 A、x=y=100 B、d--; C、x+y; D、c=int(a+b); 2、以下程序的输出结果是 main() { int a=3; printf("%d\n",(a+=a-=a*a));} } (3分) D A、B、C、D、 A、-6 B、12 C、0 D、-12 3、请选出以下语句的输出结果____ printf("%d\n",strlen("\t\ 065\xff\n")) (3分) B A、B、C、D、

A、5 B、4 C、8 D、输出项不合法,无正常输出 4、下面程序的输出是______ main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } (3分) D A、B、C、D、 A、k=11,k=12,k=13 B、k=11,k=13,k=13 C、k=11,k=013,k=oXb D、k=11,k=13,k=b 5、若有以下定义和语句: int u=010,v=0x10,w=10; printf(″%d,%d,%d\n″,u,v,w); 则输出结果是: (3分) A A、B、C、D、 A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,10 6、以下程序的输出结果是 main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); }(3分) D A、B、C、D、 A、17,021,0x11 B、17,17,17 C、17,0x11,021 D、17,21,11 7、下面程序的输出是____

linux下第一个OpencV程序

linux下第一个OpencV程序 今天在linux下安装了OpenCV,下面是我的linux下第一个OpencV程序,很简单,但是在编译的过程中还是遇到了不少的问题。下面就简单总结一下。 源代码如下(hello.c): #include "cv.h" #include "highgui.h" int main(int argc,char **argv) { IplImage* pImage; if (argc == 2 && (pImage=cvLoadImage(argv[1],1)) !=0) { cvNamedWindow("Image",1); cvShowImage("Image",pImage); cvWaitKey(0); cvDestroyWindow("Image"); cvReleaseImage(&pImage); return 0; } return -1; } 1.编译:gcc hello.c -o hello 报错如下: hello.c:1:16: 错误:cv.h:没有该文件或目录 hello.c:2:21: 错误:highgui.h:没有该文件或目录 hello.c: 在函数‘main’ 中: hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)

hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 hello.c:6: 错误:所在的函数内只报告一次。) hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用) hello.c:20:2: 警告:文件未以空白行结束 解决方法: 把目录/usr/local/include/opencv拷贝到/usr/include下, 即执行命令:sudo cp -r /usr/local/include/opencv /usr/include 再编译:gcc hello.c -o hello 仍然报错: hello.c:1:16: 错误:cv.h:没有该文件或目录 hello.c:2:21: 错误:highgui.h:没有该文件或目录 hello.c: 在函数‘main’ 中: hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用) hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 hello.c:6: 错误:所在的函数内只报告一次。) hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用) hello.c:20:2: 警告:文件未以空白行结束 再改变编译命令: g++ `pkg-config --cflags opencv` -c hello.c 链接命令: g++ `pkg-config --libs opencv` -o hello hello.o 此时编译成功,执行时候,需要进入超级用户模式下,并进入工程目录,执行命令:hello v.jpg即可显示出图片v.jpg 虽然有看到图片但是其中的有些原理还不是很清楚,会进一步跟踪研究~~~

基于opencv的人脸识别程序-代码详解

#include "cv.h" #include "highgui.h" #include #ifdef _EiC #define WIN32 #endif static CvMemStorage* storage = 0; static CvHaarClassifierCascade* cascade = 0; void detect_and_draw( IplImage* image ); const char* cascade_name = "haarcascade_frontalface_alt.xml";//人脸检测分类器 int main( int argc, char** argv ) { CvCapture* capture = 0; IplImage *frame, *frame_copy = 0; int optlen = strlen("--cascade="); const char* input_name; if( argc > 1 && strncmp( argv[1], "--cascade=", optlen ) == 0 ) { cascade_name = argv[1] + optlen; input_name = argc > 2 ? argv[2] : 0; } else { cascade_name = "E:\毕业设计\智能机器人动态人脸识别系统\陈建州程序.xml";//分类器路径 input_name = argc > 1 ? argv[1] : 0; } cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 ); if( !cascade )//如果没有找到分类器,输出以下 { fprintf( stderr, "ERROR: Could not load classifier cascade\n" ); fprintf( stderr, "Usage: facedetect --cascade=\"\" [filename|camera_index]\n" ); return -1;

第2章 程序设计基础

第二章程序设计基础 程序设计方法与风格 1.源程序文档化 源程序文档化应考虑如下几点: (1)符号名的命名:符号名的命名应具有一定的实际含义,以便于对程序功能的理解。 (2)程序注释:正确的注释能够帮助读者理解程序。 (3)视觉组织:为使程序的结构一目了然,可以在程序中利用空格、空行、缩进等技巧使程序层次 2.数据说明的方法 一般应注意: (1)说明次序规范化 (2) 变量说明有序化:语句说明多个变量时,变量按照字母顺序排序为好。 (3)使用注释来说明复杂数据的结构。 3.语句的结构 程序应该简单易懂,语句构造应该简单直接 不应该为提高效率而把语句复杂化。一般应注意如下 (1)在一行内只写一条语句: (2)程序编写应优先考虑清晰性; (3)除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。 (4)首先要保证程序正确,然后才要求提高速度: (5)避免使用临时变量而使程序的可读性下降; (6)避免不必要的转移; 7)尽可能使用库函数; (8)避免采用复杂的条件语句: (9)尽量减少使用“否定”条件的条件语句; (10)数据结构要有利于程序的简化; (11)要模块化,使模块功能尽可能单一化; (12)利用信息隐蔽,确保每一个模块的独立性 (13)从数据出发去构造程序: (14)不要修补不好的程序,要重新编写: 4.输入和输出 在设计和编程时都应该考虑如下原则: (1)对所有的输入数据都要检验数据的合法性; (2)检查输入项的各种重要组合的合理性; (3)输入格式要简单,以使得输入的步骤和操作尽可能简单; (4)输入数据时,应允许使用自由格式: (5)应允许缺省值; (6)输入一批数据时,最好使用输入结束标志: (7)在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息; (8)当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输 出加注释,并设计输出报表格式。

一个简单木马程序的设计与开发.

一个简单木马程序的设计与开发 1 前言 1.1 课题背景随着互联网技术的迅猛发展,网络给人们带来了很多便利,但是也带来了许多麻烦。各种网页木马,后门,下载者,病毒,利用各种系统漏洞,网站漏洞,程序漏洞,邮箱漏洞,U 盘及社会工程学等在网上横行,给广大用户带来了重要资料丢失,机密文件提前泄密,邮箱帐号,游戏帐号,各类照片被人恶意修改后传播到网上,系统被格盘,系统被监视,摄像头被人暗中开启并录像传播等非常严重的后果。使得许多朋友,闻木马,就变色。为了使更多朋友了解木马病毒,通过编写一个简单的木马,来分析它及其的变形,提出相应的防范措施。 1. 2 国内外研究现状从有关的资料看,国内外的windows系统下的木马,功能已经从简单发展到全面,大致包括以下功能:上传下载文件,删除文件,复制文件,粘贴文件,文件编辑,文件重命名,文件剪切,新建文件,修改文件,修改文件的创建时间等;获得目标主机名,IP地址,以及目标主机地理位置,系统打了多少补丁,安装了些什么软件,MAC地址,安装了几个处理器,内存多大,网速多快,系统启动时间,系统目录,系统版本等;取得目标主机的CMD权限,添加系统管理员,对目标主机进行注册表操作,开启目标主机3389端口,软件自动更新,使目标主机成为HTTP,SOCK5代理服务器,对目标主机的服务进行操作,对目标主机的开机自启动项进行操作,目标主机主动向控制端发起连接,也可主动向目标主机发起连接等,暗中打开用户摄像头,监控,录制用户隐私生活,对用户进行屏幕监控等。木马的隐蔽性更强了,从原来的单纯隐藏在某个目录中,发展到了替换系统文件,修改文件修改时间等。木马从EXE文件靠注册表启动,发展到了DLL文件远程线程插入,替换修改系统DLL文件,靠驱动文件等高级水准,更有写入系统核心中的。木马深藏在系统中,甚至在许多杀毒软件启动前启动,或者是绑定到杀毒软件上,或者修改杀毒软件规则,使得杀毒软件误以为它是合法文件,或者是将木马DLL文件插入到WINLOGON.EXE 中,以至于在安全模式下也无法删除。有的病毒会在系统部分盘中,创建Autorun.inf文件,然后把病毒也复制到该目录下隐藏着,使得用户双击该盘时,运行该病毒,对此,某些用户格式化了系统盘再重装系统,也无法删除它。更有木马,病毒会感染某些盘中的EXE文件,COM文件,使得用户重装系统后,运行该文件后又运行病毒。木马中招的方式包括:访问不安全网站,访问某些被入侵后的安全网站,在不同机子上使用U盘,通过U盘传播的木马病毒也越来越多,对系统或是一般程序进行溢出后,上传木马,对网络中的主机进行漏洞扫描,然后利用相关漏洞自动传播,利用邮箱漏洞配合网页木马,使用户中招,直接通过QQ等聊天软件传给用户,并叫其运行,在QQ等聊天软件中发布网址给好友,好友不知情下点击中招,通过物理接触主机以及远程破解主机密码等手段中招。木门在被杀毒软件查杀后,一般马上就会有变种或是升级版本流传,通过对木马进行加壳,修改木马特征码,修改程序等手段使木马免杀。木马还包括ASP和PHP以及ASPX,JSP木马,它们能过网页的形式存在,也可以有很多功能,如常见的ASP木马就有如下功能:登录验证,上传下载文件,删除,复制,移动,编辑文件,新建文件,新建目录,搜索文件,更改文件名,查看文件修改时间,serv_u漏洞提权,查看服务器信息,查看环境变量,注册表操作,探查网站是否支持PHP,查找网站上已经存在的木马,包括已经加密后的,对服务器上所有盘的文件操作,对数据库进行操作,对网站

相关文档
相关文档 最新文档