Camera::Camera(QObject * parent) : QObject(parent), currentImageIndex_(0), cameraTcpServer_(0) { qRegisterMetaType<cv::Mat>("cv::Mat"); connect(&cameraTimer_, SIGNAL(timeout()), this, SLOT(takeImage())); }
cv::Mat Camera::takeImage() { cv::Mat descriptors; std::vector<cv::KeyPoint> keypoints; bool tmp = _featuresExtracted; _featuresExtracted = false; // no need to extract descriptors/keypoints in this function cv::Mat img = takeImage(descriptors, keypoints); _featuresExtracted = tmp; return img; }
void Camera::keyPressEvent(QKeyEvent* event) { if (event->isAutoRepeat()) { return; } switch (event->key()) { case Qt::Key_CameraFocus: m_camera->searchAndLock(); event->accept(); break; case Qt::Key_Camera: if (m_camera->captureMode() == QCamera::CaptureStillImage) { takeImage(); } event->accept(); break; default: OpenableWidget::keyPressEvent(event); } }
/** * Displays the connectivity of Control Points * */ void MosaicControlNetTool::displayConnectivity() { if (m_controlNet) { ImageList images = getWidget()->images(); QList<QColor> colorsUsed; QList< QList<QString> > serialConns = m_controlNet->GetSerialConnections(); QList<QString> island; foreach(island, serialConns) { QColor color; QString cubeSn; foreach(cubeSn, island) { Image *image = takeImage(cubeSn, images); if (image) { while(!color.isValid()) { QColor displayColor = image->displayProperties()->getValue( ImageDisplayProperties::Color).value<QColor>(); if (colorsUsed.indexOf(displayColor) == -1) { colorsUsed.append(displayColor); color = displayColor; } else { QColor ranColor = ImageDisplayProperties::randomColor(); if (colorsUsed.indexOf(ranColor) == -1) { colorsUsed.append(ranColor); color = ranColor; } } } image->displayProperties()->setColor(color); } } }