没有合适的资源?快使用搜索试试~ 我知道了~
opencv学习程序大集合..pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 175 浏览量
2023-09-12
13:19:41
上传
评论
收藏 1.87MB PDF 举报
温馨提示
试读
73页
opencv学习程序大集合..pdf
资源推荐
资源详情
资源评论
Opencv2.3.1 中:每新建一个项目必做的,选择“Debug”,在“附加依赖项”
那栏点击右边的“编辑”按钮,复制下面的库文件名到上方空白处:
opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib
(可根据实际需要删减)
然后,在“配置”下拉框中选择“Release”,照上面的操作,复制下
面的库文件名到上方的空白处:
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib
例 2-1 显示照片
#include
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = * imagename = ;
//从䨮文?件t中D读¨¢入¨?图ª?像?
Mat img = imread(imagename);
//如¨?果?读¨¢入¨?图ª?像?失º¡ì败㨹
if(img.empty())
{
fprintf(stderr, fprintf(stderr, , imagename);
return -1;
}
//显?示º?图ª?像?
imshow(imshow( , img);
//此ä?函¡¥数ºy等̨¨待äy按ã¡ä键¨¹,ê?按ã¡ä键¨¹盘¨¬任¨?意°a键¨¹就¨ª返¤¦Ì回?
waitKey();
return 0;}
从文件中读入一幅图像,将之反色,然后显示出来
////////////////////////////////////////////////////////////////////////
//
// hello-world.cpp
//
// 该?程¨¬序¨°从䨮文?件t中D读¨¢入¨?一°?幅¤¨´图ª?像?,ê?将?之?反¤¡ä色¦?,ê?然¨?
后¨®显?示º?出?来¤¡ä.
//
////////////////////////////////////////////////////////////////////////
#include <stdafx.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char *argv[])
{
IplImage* img = 0;
int height,width,step,channels;
uchar *data;
int i,j,k;
const char* imagename = argc > 1 ? argv[1] : * imagename = argc > 1 ? argv[1] : ;
/* if(argc<2){
exit(0);
}
*/
// load an image
img=cvLoadImage(imagename);
if(!img){
printf( printf( ,argv[1]);
exit(0);
}
// get the image data
height = img->height;
width = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar *)img->imageData;
printf( printf( ,height,width,channels);
// create a window
cvNamedWindow( cvNamedWindow( , 0);
cvMoveWindow( cvMoveWindow( , 100, 100);
// invert the image
// 相¨¤当Ì¡À于®¨² cvNot(img);
for(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++)
data[i*step+j*channels+k]=255-data[i*step+j*channels+k];
// show the image
cvShowImage( cvShowImage( , img );
// wait for a key
cvWaitKey(0);
// release the image
cvReleaseImage(&img );
return 0;
}
单张 RGB 图片变成灰度图并保存
#include
#include
#include
int main(int argc, char* argv[])
{
IplImage *image;
IplImage *result;
image=cvLoadImage( image=cvLoadImage( ,-1);
//注|意指针变量定要先初始化才能使用,否则崩溃
//灰度转换时通道一定¬要设置正确
int channel=1; //image->nChannels;
int depth=image->depth;
CvSize sz;
sz.width=image->width;
sz.height=image->height;
result=cvCreateImage(sz,depth,channel);
cvCvtColor(image,result,CV_BGR2GRAY);
cvNamedWindow( cvNamedWindow( ,1);
cvShowImage( cvShowImage( ,image);
cvNamedWindow( cvNamedWindow( ,1);
cvShowImage( cvShowImage( ,result);
cvSaveImage( cvSaveImage( ,result);
cvWaitKey(0);
cvReleaseImage(&image);
cvReleaseImage(&result);
cvDestroyWindow(cvDestroyWindow( );
cvDestroyWindow(cvDestroyWindow( );
return 0;
}
例 2-2 显示视频
#include
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
void main( )
{
cvNamedWindow( cvNamedWindow( ,0);
CvCapture *capture=cvCreateFileCapture( CvCapture *capture=cvCreateFileCapture( 晚ª¨ª秋? 电Ì?影®¡ã<晚ª¨ª秋?>同ª?名?主
¡Â题¬a曲¨²--音°?悦?台¬¡¬¡ );
IplImage *frame;
while(1)
{
frame=cvQueryFrame(capture);
if(!frame){break;}
cvShowImage( cvShowImage( ,frame);
char c=cvWaitKey(33);
if(c==27){break;}
}
cvReleaseCapture(&capture);
cvDestroyWindow( cvDestroyWindow( );
}
例 2-3 滚动条显示视频
#include
#include <cv.h>
#include <cxcore.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( cvNamedWindow( , CV_WINDOW_AUTOSIZE );
g_capture = cvCreateFileCapture( g_capture = cvCreateFileCapture( 晚ª¨ª秋? 电Ì?影®¡ã<晚ª¨ª秋?>同ª?名?主¡Â题¬a
曲¨²--音°?悦?台台 );
int frames = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
if( frames!= 0 )
{
cvCreateTrackbar(cvCreateTrackbar( ,, ,&g_slider_position,frames,onTrackbarSlide);
}
IplImage* frame;
while(1)
{
frame=cvQueryFrame(g_capture);
if(!frame){break;}
cvShowImage( cvShowImage( ,frame);
char c=cvWaitKey(33);
if(c==27){break;}
} // While loop (as in Example 2) capture & show video…-
cvReleaseCapture(&g_capture);
cvDestroyWindow( cvDestroyWindow( );// Release memory and destroy window… -
return(0);
}
例 2—4 图像平滑处理
#include
#include
#include
void example2_4( IplImage* image )
{
// Create some windows to show the input
// and output images in.
cvNamedWindow( cvNamedWindow( );
cvNamedWindow( cvNamedWindow( );
// Create a window to show our input image
//
cvShowImage( cvShowImage( , image );
//Create an image to hold the smoothed output
//cvGetSize(image)当Ì¡À前¡ã图ª?像?结¨¢构1的Ì?大䨮小?,各¡Â通ª¡§道̨¤每?个?像?
素?点Ì?的Ì?数ºy据Y类¤¨¤型¨ª,通ª¡§道̨¤的Ì?总Á¨¹数ºy
剩余72页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 58
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功