Compare commits

...

4 Commits

Author SHA1 Message Date
840910110f update
2 years ago
823b0277b8 update
2 years ago
b41f4c2a6c cherify
2 years ago
e692b89a7a cherify
2 years ago

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

@ -1,3 +1,5 @@
#include <iostream>
class PixelRatioConverter { class PixelRatioConverter {
public: public:
// 构造函数,传入两个现实中的物体面积和它们在图像中所占像素面积 // 构造函数,传入两个现实中的物体面积和它们在图像中所占像素面积
@ -9,21 +11,36 @@ public:
} }
// 获取像素比例系数 // 获取像素比例系数
double getPixelRatio() { double getPixelRatio() const {
double ratio = (real_area1 / real_area2) * (pixel_area2 / pixel_area1); double ratio = calculateAreaRatio() * calculatePixelRatio();
return ratio; // 返回像素比例系数 return ratio; // 返回像素比例系数
} }
// 根据像素比例系数,计算下一步物体在图像中所占像素面积 // 根据像素比例系数,计算下一步物体在图像中所占像素面积
int getNextPixelArea(int next_real_area) { int getNextPixelArea(int next_real_area) const {
double ratio = this->getPixelRatio(); double ratio = this->getPixelRatio();
int next_pixel_area = static_cast<int>(next_real_area / ratio); int next_pixel_area = calculateNextPixelArea(next_real_area, ratio);
return next_pixel_area; // 返回下一步物体在图像中所占像素面积 return next_pixel_area; // 返回下一步物体在图像中所占像素面积
} }
private: private:
double real_area1; // 第一个现实中的物体面积 double real_area1; // 第一个现实中的物体面积
double real_area2; // 第二个现实中的物体面积 double real_area2; // 第二个现实中的物体面积
int pixel_area1; // 第一个物体在图像中所占像素面积 int pixel_area1; // 第一个物体在图像中所占像素面积
int pixel_area2; // 第二个物体在图像中所占像素面积 int pixel_area2; // 第二个物体在图像中所占像素面积
// 计算现实物体面积之间的比例系数
double calculateAreaRatio() const {
return real_area1 / real_area2;
}
// 计算像素面积之间的比例系数
double calculatePixelRatio() const {
return static_cast<double>(pixel_area2) / pixel_area1;
}
// 根据比例系数和下一步物体的实际面积,计算在图像中所占的像素面积
int calculateNextPixelArea(int next_real_area, double ratio) const {
return static_cast<int>(next_real_area / ratio);
}
}; };

@ -13,14 +13,18 @@ public:
// 启动警报系统 // 启动警报系统
void arm() { void arm() {
isArmed = true; if (!isArmed) {
cout << "警报系统已启动" << endl; isArmed = true;
cout << "警报系统已启动" << endl;
}
} }
// 关闭警报系统 // 关闭警报系统
void disarm() { void disarm() {
isArmed = false; if (isArmed) {
cout << "警报系统已关闭" << endl; isArmed = false;
cout << "警报系统已关闭" << endl;
}
} }
// 接收信息并触发警报 // 接收信息并触发警报
@ -42,5 +46,19 @@ private:
void triggerAlarm() { void triggerAlarm() {
cout << "发出警报:" << alarmMessage << endl; cout << "发出警报:" << alarmMessage << endl;
// 这里可以实现具体的警报动作,例如触发声音、发送通知等 // 这里可以实现具体的警报动作,例如触发声音、发送通知等
playSound();
sendNotification();
}
// 播放警报声音
void playSound() {
cout << "播放警报声音" << endl;
// 这里可以调用外部库或硬件接口实现声音播放
}
// 发送警报通知
void sendNotification() {
cout << "发送警报通知" << endl;
// 这里可以调用外部库或硬件接口实现消息发送
} }
}; };

@ -1,3 +1,5 @@
#include <iostream>
class PixelRatioConverter { class PixelRatioConverter {
public: public:
// 构造函数,传入两个现实中的物体面积和它们在图像中所占像素面积 // 构造函数,传入两个现实中的物体面积和它们在图像中所占像素面积
@ -9,21 +11,36 @@ public:
} }
// 获取像素比例系数 // 获取像素比例系数
double getPixelRatio() { double getPixelRatio() const {
double ratio = (real_area1 / real_area2) * (pixel_area2 / pixel_area1); double ratio = calculateAreaRatio() * calculatePixelRatio();
return ratio; // 返回像素比例系数 return ratio; // 返回像素比例系数
} }
// 根据像素比例系数,计算下一步物体在图像中所占像素面积 // 根据像素比例系数,计算下一步物体在图像中所占像素面积
int getNextPixelArea(int next_real_area) { int getNextPixelArea(int next_real_area) const {
double ratio = this->getPixelRatio(); double ratio = this->getPixelRatio();
int next_pixel_area = static_cast<int>(next_real_area / ratio); int next_pixel_area = calculateNextPixelArea(next_real_area, ratio);
return next_pixel_area; // 返回下一步物体在图像中所占像素面积 return next_pixel_area; // 返回下一步物体在图像中所占像素面积
} }
private: private:
double real_area1; // 第一个现实中的物体面积 double real_area1; // 第一个现实中的物体面积
double real_area2; // 第二个现实中的物体面积 double real_area2; // 第二个现实中的物体面积
int pixel_area1; // 第一个物体在图像中所占像素面积 int pixel_area1; // 第一个物体在图像中所占像素面积
int pixel_area2; // 第二个物体在图像中所占像素面积 int pixel_area2; // 第二个物体在图像中所占像素面积
// 计算现实物体面积之间的比例系数
double calculateAreaRatio() const {
return real_area1 / real_area2;
}
// 计算像素面积之间的比例系数
double calculatePixelRatio() const {
return static_cast<double>(pixel_area2) / pixel_area1;
}
// 根据比例系数和下一步物体的实际面积,计算在图像中所占的像素面积
int calculateNextPixelArea(int next_real_area, double ratio) const {
return static_cast<int>(next_real_area / ratio);
}
}; };

Loading…
Cancel
Save