void ImageClick::scanKeyboard()
{
cv::Scalar color(0, 0, 255);
int in;
struct termios new_settings;
struct termios stored_settings;
tcgetattr(0,&stored_settings);
new_settings = stored_settings;
new_settings.c_lflag &= (~ICANON);
new_settings.c_cc[VTIME] = 0;
tcgetattr(0,&stored_settings);
new_settings.c_cc[VMIN] = 1;
tcsetattr(0,TCSANOW,&new_settings);
while (done){
in = getchar();
tcsetattr(0,TCSANOW,&stored_settings);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
// std::cout << "ret " << in << std::endl;
if(in == 100 || in == 68){
if (!points.empty()) {
points.pop_back();
// std::cout << "ret " << points.size() << std::endl;
image_ = backupImage.clone();
count_ = 0;
for (const auto& p : points) {
cv::circle(image_, p, 2, color, -1, cv::LINE_8);
cv::putText(image_, std::to_string(++count_), p, cv::FONT_HERSHEY_SIMPLEX, 1, cv::Scalar(0, 0, 255), 2);
}
cv::imshow(title_, image_);
}
}
}
}
键盘响应C
最新推荐文章于 2024-07-24 10:46:51 发布