《学习OpenCV》练习题第四章第二题

Python OpenCV 练习指南 02:图像基础操作 练习题 1:编写一个Python脚本来加载一张图像,然后找到图像中左上角顶点坐标为(200, 200),边长为200个像素的正方形区域的像素值,并将该区域内的所有像素修改为红色。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。提示:灰度值可以通过取每个像素的BGR值的平均值来计算。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。最后祝大家天天进步! 阅读详情
#include <highgui.h>
#include <cv.h>

#pragma comment (lib,"opencv_calib3d231d.lib")
#pragma comment (lib,"opencv_contrib231d.lib")
#pragma comment (lib,"opencv_core231d.lib")
#pragma comment (lib,"opencv_features2d231d.lib")
#pragma comment (lib,"opencv_flann231d.lib")
#pragma comment (lib,"opencv_gpu231d.lib")
#pragma comment (lib,"opencv_haartraining_engined.lib")
#pragma comment (lib,"opencv_highgui231d.lib")
#pragma comment (lib,"opencv_imgproc231d.lib")
#pragma comment (lib,"opencv_legacy231d.lib")
#pragma comment (lib,"opencv_ml231d.lib")
#pragma comment (lib,"opencv_objdetect231d.lib")
#pragma comment (lib,"opencv_ts231d.lib")
#pragma comment (lib,"opencv_video231d.lib")

/*
 *《学习OpenCV》第四章第二题
 * 完成时间:0:38 3/11 星期一 2013
 */

CvFont font; 

/*
 * 鼠标事件回调函数
 */
void my_mouse_callback(int event, int x, int y, int flags, void* param)
{
	// 得到图像
	IplImage* image = (IplImage*) param;

	// 获取图像对应像素的颜色值
	CvScalar pixel_value;
	pixel_value = cvGet2D( image, x, y );

	// 构造要显示的文本
	char display_text[14];
	sprintf( display_text, "(%d %d %d)", (int) pixel_value.val[0],
		(int)pixel_value.val[1], (int)pixel_value.val[2] );


	switch(event)
	{
		// 鼠标左键点击事件
	case CV_EVENT_LBUTTONDOWN:
		printf("(%d, %d) --- (%f\t%f\t%f)\n", x, y, pixel_value.val[0], pixel_value.val[1], pixel_value.val[2]);
		cvPutText( image, display_text, cvPoint(x, y), &font, pixel_value);
		break;
	}
}

int main()
{
	IplImage* image = cvLoadImage("1.jpg", 1);
	cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, 1.0f, 1.0f, 0, 1, 8);
	
	cvNamedWindow("image");
	cvSetMouseCallback( "image", my_mouse_callback, (void*)image );

	while(1)
	{	
		cvShowImage("image", image);

		if(cvWaitKey(15) == 27) break;
	}

	cvReleaseImage( &image );
	cvDestroyAllWindows();
	return 0;
}

运行结果:



存在的问题:

运行一会儿就会报C++运行时错误,实在不清楚哪里出问题,望各位看官能指正。

《学习OpenCV》练习题第四章第六题 #include #include "opencv_libs.h" #include #define IMG_WIDTH 512 #define IMG_HEIGHT 512 /* *《学习OpenCV》第四章第六题 * 完成时间:9:32 4/5 星期五 2013 */ CvFont font; char *display_text = "|"; // 阅读详情

相关推荐

《学习OpenCV》练习题第二章第三题

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1565

OpenCV练习(2)图像校正

创建一个目标点数组。

PLANTTHESON的博客 2341

《学习OpenCV》练习题第二章第五题

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1444

opencv期末练习题(4)附带解析

这段代码创建了一个黑色画板,支持在画板上通过滑动鼠标画出圆形线条。用户可以按下 'q' 键退出程序,按下 'm' 键切换画图模式,此时在滑动鼠标会在画板上画出圆形线条。这个简单的画板演示了如何使用 OpenCV 处理鼠标事件,根据用户的输入在画板上绘制图形。如果用户按下 'q' 键,则退出程序;如果按下 'm' 键,则切换画图模式。,在函数中根据当前是否处于画图模式以及鼠标事件类型,在画板上画出圆形线条。进入死循环,不断显示当前画板,并等待用户的键盘输入。用于保存左键按下和释放时的坐标,

weixin_45266691的博客 568

学习opencv3中文版--第四章答案

1. /* 本程序只实现了a和b,读者可自行实现c和d */ #include <opencv2/opencv.hpp> #include <iostream> using namespace std; const int display_height = 500; const int display_weight = 500; vector<cv::Mat1...

huqiaolong的博客 1307

《学习OpenCV》第四章练习题4

#include<iostream> #include"highgui.h" #include"cv.h" using namespace std; using namespace cv;CvRect rect; IplImage* test = cvLoadImage("test.jpg"); IplImage* test1 = cvCreateImage(cvSize(test->width,

Goods222的博客 460

opencv基本练习

opencv的基本使用

qq_43594227的博客 209

学习opencv3中文版--第三章练习题答案

1. #include<opencv2/opencv.hpp> using namespace std; int main() { /* a.选择一个负的浮点数 b.计算它的绝对值,近似,向上取整,向下取整 */ //生成一个负的浮点数 Cv32suf f; f.f = -2.3; cout <<"负的浮点...

huqiaolong的博客 1957

OpenCV的简单练习

【代码】OpenCV的简单练习。

qq_63603839的博客 1011

Verilog除法器(32位无符号+带符号)

32位无符号除法器设计 恢复余数法: 恢复余数除法的基本思路是从“部分余数”中减去除数,如果结果为负(不够减),则恢复原来的部分余数,商0. 寄存器使用: reg_r 存放被除数a reg_b 存放除数b reg_r 存放余数(初始清零) 具体做法: 做减法时,减数是reg_b中的除数,被减数是reg_r中的余数左移一位,最低位由reg_q(被除数)的最高位补充。为了能够判断相减结果的正...

qq_38600065的博客 1万+

【阅读文献笔记】FoundationStereo: Zero-Shot Stereo Matching

提出首个零样本泛化立体匹配基础模型设计 STA 模块融合单目先验提出 AHCF 模块增强代价滤波构建 100 万合成数据集 FSD + 自净化流程。

qq_46460379的博客 1257

《学习OpenCV》练习题第四章第一题a

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1529

mysql8.0安装及配置超详细教程_mysql-8.0.15-winx64

MySQL8.0配置教程, 全网最详,同时有本地mysql和小皮系统见另一篇

小诺言的博客 2万+

《学习OpenCV》练习题第二章第四题

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1152

Node-Red系列教程——NodeRed通过OPC UA读取数据并写入mysql

NodeRed通opcua读取西门子数据并存入mysql

鲸鱼姐的专栏 1万+

【TCN回归预测】TCN时间卷积神经网络数据回归预测(多输入单输出)【含Matlab源码 2317期】

TCN时间卷积神经网络数据回归预测 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版)或下载付费资源,可赠送奶茶价版付费专栏指定代码1份; 822

《学习OpenCV》练习题第四章第五题a

#include "opencv_libs.h" #include #include #include /* *《学习OpenCV》第四章第五题a * 完成时间:8:08 4/5 星期五 2013 */ #define IMG_WIDTH 512 // 图像宽 #define IMG_HEIGHT 512 // 图像高 #define RAND_INT_MAX 256

qdsclove的专栏 2209

YOLO26改进策略【损失函数篇】| AAAI 2025 SD Loss,基于目标尺度动态调整尺度损失和位置损失的影响系数,减少 IoU 标签波动

在红外小目标检测任务里,基于交并比的损失存在波动问题,像边界框(BBox)标签的IoU损失波动最高可达86%,较小目标的IoU损失稳定性更差,严重影响模型稳定性和回归效果。同时,现有损失函数没有充分考虑不同目标尺度下对尺度和位置的敏感度差异,,并且掩码标签的位置损失在处理漏检物体时难以收敛,容易产生误报。这些问题限制了模型在不同尺度目标上的检测性能,为解决这些问题,提出了损失函数。

Limiiiing的博客 395

《学习OpenCV》练习题第四章第四题

#include #include #include "opencv_libs.h" /* *《学习OpenCV》第四章第四题 * 完成时间:1:36 3/31 星期日 2013 */ int g_slider_position = 0; CvCapture* g_capture = NULL; int i = 0; int g_slider_position1 = 0; bool

qdsclove的专栏 1187

流体仿真软件:COMSOL Multiphysics二次开发_(11).COMSOL与外部软件的数据交换

通过上述方法,您可以实现 COMSOL Multiphysics 与外部软件的数据交换,从而更好地集成和分析仿真结果。无论是从文本文件导入数据,导出数据到 MATLAB,还是通过 API 和 COMSOL Server 实现实时通信,都能满足不同场景下的需求。希望这些内容对您在流体仿真领域的开发工作有所帮助。

kkchenjj的博客 1553

微软推出突破性AI医疗诊断系统MAI-DxO:诊断准确率85.5%,是医生的4倍,成本更低

微软推出医疗AI系统MAI-DxO,通过多AI模型协作实现高效诊断,准确率达85.5%,是传统医生团队的4倍。该系统整合自然语言处理、计算机视觉等技术,模拟专家会诊流程,显著降低医疗成本60%。具备罕见病识别、基层医疗支持等功能,同时注重伦理安全和可解释性。微软计划开放部分架构,推动医疗AI普惠化。这一突破标志着医疗AI从单点工具向系统级智能的跨越,有望重塑更精准、高效的智能医疗未来。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 637

《学习OpenCV》练习题第四章第七题abc

题外话:一直是打算把这本书的全部课后编程题写完的,中间断了几个月,一直忙于其他事。现在开始补上。 这道题我不清楚我理解的题意是不是正确的,这道题可以练习用OpenCV实现透视变换(可以用于矫正在3维环境下的图像失真),b&c部分则是实现图像放大缩小插值,旋转图像。所有的功能都和键盘事件处理联系起来,纯OpenCV实现,和OS无关。不过,在处理SHIFT键时,我取得是其在键盘上对应字符的ASCII

qdsclove的专栏 1614

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

《学习OpenCV》练习题第四章第八题ab

这道题是利用OpenCV例子程序里自带的人脸检测程序,做点图像的复制操作以及alpha融合。 说明:人脸检测的程序我参照了网上现有的例子程序,没有用我用的OpenCV版本(2.4.5)的facedetect.c,人脸检测部分是一个月前写的程序,这次做这道理,做了点改动,以前的部分注释了起来。 代码: #include #include #include #inclu

qdsclove的专栏 1512

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

《学习OpenCV》练习题第三章第五题

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1348

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

《学习OpenCV》练习题第三章第四题

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1262

《学习OpenCV》练习题第四章第三题b

#include #include #include "opencv_libs.h" /* *《学习OpenCV》第四章第三题b * 完成时间:1:36 3/31 星期日 2013 */ /* 矩形框 */ CvRect rect; bool draw = false; // 标记是否在画 IplImage* img; IplImage * temp; IplImage *

qdsclove的专栏 1209
上一篇: 《学习OpenCV》练习题第四章第一题b&c
下一篇: 《学习OpenCV》练习题第四章第三题a
Stk_OverFlow
博客等级 码龄14年 27粉丝 35原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值