- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上大计算机视觉实验报告讲述
计算机工程与科学学院 周翔宇实验1
习题1
实验代码
int main() {
// read an image
cv::Mat image = cv::imread(test.jpg);
// create image window named My Image
//cv::namedWindow(My Image);
// show the image on window
//cv::imshow(My Image, image);
// wait key for 5000 ms
IplImage* pImg = cvLoadImage(test.jpg);
CvFont font;
cvInitFont(font, CV_FONT_HERSHEY_COMPLEX, 0.5, 0.5, 1, 2, 8);
cvPutText( pImg , cvPoint(0, 50), font, CV_RGB(255,255,255));
cvSaveImage(D:\\testttt.jpg, pImg);
cvNamedWindow(My image);
cvShowImage(My image, pImg);
cv::waitKey(5000);
return 1;
实验结果截图
结果分析
1.第一次主要是熟悉VS里面如何运用已有的openCV库函数来解决实际的问题
2.这次实验通过查阅书籍,我找到了在图片中快速插入文字的方法,即运用cv::puttext函数还来解决,需要注意的是这个函数的参数,需要确定在图片中位置。
实验2
习题1 .
实验代码
#include stdafx.h
#include opencv.hpp
#includeiostream
#if defined _DEBUG
#pragma comment(lib,opencv_core249d.lib)
#pragma comment(lib,opencv_imgproc249d.lib)
#pragma comment(lib,opencv_highgui249d.lib)
#else
#pragma comment(lib,opencv_core249.lib)
#pragma comment(lib,opencv_imgproc249.lib)
#pragma comment(lib,opencv_highgui249.lib)
#endif
void copy_color(cv::Mat image){
int nl = image.rows;
int nc = image.cols*image.channels() / 2;
for (int j = 0; j nl; j++)
{
uchar* data = image.ptruchar(j);
for (int i = 0; i nc; i++)
data[i] = data[nc + i];
}
}
int main() {
cv::Mat image = cv::imread(1.jpg);
copy_color(image);
cv::namedWindow(My Image);
cv::imshow(My Image, image);
cv::waitKey(50000);
return 1;
}
实验结果截图
结果分析
利用X和Y的两次循环将整块图片复制过去,裁减函数做得有欠缺。
实验3
习题1
实验代码:
方法一:
data[i] = data[i] / div*div + div / 2;
原始图像中的每个维度的颜色数降低为原来的1 / div,但是整张图片的像素点数并没有减少,只是每个像素点都被它所在格子中的中心像素“量化”了。
方法二:
*data++ = *data / div*div + div / 2;
与方法一相比,方法二只是在颜色缩减的图像遍历函数上面做出了修改,等效的使用指针运算从一列移动到下一列。
方法三:
int v = *data;
*data++ = v - v%div + div / 2;
通过模运算来计算最接近被除数的除数的整数倍数,但是这种方式速度会慢一些,因为对于一张图片的像素来说存取了两次。
方法四:
int nl = image.rows; // number of lines
int nc = image.cols * image.channels(); // total number of elements per line
int n = static_castint(lo
您可能关注的文档
最近下载
- 期末默写、文言基础复习 统编版高中语文必修上册.docx VIP
- 对水果产业发展的调研报告.pdf
- 海水提取氯化钾项目节能评估报告.docx VIP
- 【一诊】绵阳市高三2022级(2025届)第一次诊断性考试数学试卷(含答案逐题解析).docx
- 2023-2024学年天津市河北区八年级第一学期期中数学试卷及参考答案完整版.pdf VIP
- 海水提取氯化钾项目节能分析报告.docx VIP
- 地基承载力标准值、特征值、允许值辨析.pdf
- 山东省烟台市2023至2024学年高二上学期期中考试化学试题附参考答案(解析).docx
- 利用PDCA降低乳腺癌改良根治术后患肢功能障碍发生率【24页】.pptx
- 高中英语课件:The Face-down Generation.pptx
文档评论(0)