parent
aa9974b57f
commit
d94135987e
@ -0,0 +1,23 @@
|
||||
#include "Alarm.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
AlarmSystem alarm; // 创建警报系统对象
|
||||
|
||||
alarm.arm(); // 启动警报系统
|
||||
|
||||
// 模拟接收到信息并触发警报
|
||||
string message = "温度异常";
|
||||
alarm.receiveMessage(message);
|
||||
|
||||
alarm.disarm(); // 关闭警报系统
|
||||
|
||||
// 再次模拟接收到信息,但由于警报系统已关闭,不会触发警报
|
||||
string message2 = "火灾警报";
|
||||
alarm.receiveMessage(message2);
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class AlarmSystem {
|
||||
public:
|
||||
// 构造函数,初始化警报系统
|
||||
AlarmSystem() {
|
||||
isArmed = false;
|
||||
alarmMessage = "警报!有异常情况发生!";
|
||||
}
|
||||
|
||||
// 启动警报系统
|
||||
void arm() {
|
||||
isArmed = true;
|
||||
cout << "警报系统已启动" << endl;
|
||||
}
|
||||
|
||||
// 关闭警报系统
|
||||
void disarm() {
|
||||
isArmed = false;
|
||||
cout << "警报系统已关闭" << endl;
|
||||
}
|
||||
|
||||
// 接收信息并触发警报
|
||||
void receiveMessage(const string& message) {
|
||||
if (isArmed) {
|
||||
cout << "接收到信息:" << message << endl;
|
||||
triggerAlarm();
|
||||
}
|
||||
else {
|
||||
cout << "未启动警报系统,忽略信息:" << message << endl;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
bool isArmed; // 警报系统是否启动
|
||||
string alarmMessage; // 警报信息
|
||||
|
||||
// 触发警报
|
||||
void triggerAlarm() {
|
||||
cout << "发出警报:" << alarmMessage << endl;
|
||||
// 这里可以实现具体的警报动作,例如触发声音、发送通知等
|
||||
}
|
||||
};
|
@ -0,0 +1,19 @@
|
||||
#include "Distance.h"
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
// 传入相机的基线长度和树木在两个视角下的像素位移
|
||||
TreeDistanceEstimator treeEstimator(0.1, 30);
|
||||
|
||||
// 设置相机的焦距
|
||||
treeEstimator.setFocalLength(100);
|
||||
|
||||
// 估测树木的距离
|
||||
double distance = treeEstimator.estimateDistance();
|
||||
|
||||
cout << "估测的树木距离:" << distance << " 米" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
class TreeDistanceEstimator {
|
||||
public:
|
||||
// 构造函数,传入相机的基线长度和树木在两个视角下的像素位移
|
||||
TreeDistanceEstimator(double baseline, double pixel_displacement) {
|
||||
this->baseline = baseline;
|
||||
this->pixel_displacement = pixel_displacement;
|
||||
}
|
||||
|
||||
// 估测树木的距离
|
||||
double estimateDistance() {
|
||||
double distance = (baseline * focal_length) / pixel_displacement;
|
||||
return distance; // 返回估测的距离
|
||||
}
|
||||
|
||||
private:
|
||||
double baseline; // 相机的基线长度
|
||||
double pixel_displacement; // 树木在两个视角下的像素位移
|
||||
double focal_length; // 相机焦距
|
||||
};
|
@ -0,0 +1,19 @@
|
||||
#include "pixel.h"
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
// 传入现实中两个物体的面积和它们在图像中所占像素面积
|
||||
PixelRatioConverter p(5, 10, 100, 200);
|
||||
|
||||
// 获取像素比例系数
|
||||
double ratio = p.getPixelRatio();
|
||||
cout << "像素比例系数:" << ratio << endl;
|
||||
|
||||
// 计算下一步物体在图像中所占像素面积
|
||||
int next_pixel_area = p.getNextPixelArea(15);
|
||||
cout << "下一步物体在图像中所占像素面积:" << next_pixel_area << endl;
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
class PixelRatioConverter {
|
||||
public:
|
||||
// 构造函数,传入两个现实中的物体面积和它们在图像中所占像素面积
|
||||
PixelRatioConverter(double real_area1, double real_area2, int pixel_area1, int pixel_area2) {
|
||||
this->real_area1 = real_area1;
|
||||
this->real_area2 = real_area2;
|
||||
this->pixel_area1 = pixel_area1;
|
||||
this->pixel_area2 = pixel_area2;
|
||||
}
|
||||
|
||||
// 获取像素比例系数
|
||||
double getPixelRatio() {
|
||||
double ratio = (real_area1 / real_area2) * (pixel_area2 / pixel_area1);
|
||||
return ratio; // 返回像素比例系数
|
||||
}
|
||||
|
||||
// 根据像素比例系数,计算下一步物体在图像中所占像素面积
|
||||
int getNextPixelArea(int next_real_area) {
|
||||
double ratio = this->getPixelRatio();
|
||||
int next_pixel_area = static_cast<int>(next_real_area / ratio);
|
||||
return next_pixel_area; // 返回下一步物体在图像中所占像素面积
|
||||
}
|
||||
|
||||
private:
|
||||
double real_area1; // 第一个现实中的物体面积
|
||||
double real_area2; // 第二个现实中的物体面积
|
||||
int pixel_area1; // 第一个物体在图像中所占像素面积
|
||||
int pixel_area2; // 第二个物体在图像中所占像素面积
|
||||
};
|
Loading…
Reference in new issue