C++显示图像并将其保持到下一张图像的最佳方法
C++ Best way to display image and hold it until the next image
我尝试在opencv中使用imshow来显示一个,但图像窗口关闭并在每个循环中再次显示。有没有办法保持显示器直到新的显示到来,这样图像显示就不会闪烁?
for(int iframe = 0; iframe < 10; iframe++)
{
..some processing code..
cv::imshow("image", a[iframes]);
cv::waitKey(1);
}
检查你的...一些处理代码...:
如果你在每个循环的开头使用 namedWindow(( 和/或在循环结束时使用 destroyWindow((,那么你在每次迭代中都有效地关闭了你的窗口。
删除这些函数调用,除非您绝对确定需要它们。
这两个线程不共享除显示窗口之外的任何参数。 这是我的代码。我没有包括处理部分,因为它很长。
int main(int argc, char *argv[])
{
// Some processings//
// Create the thread
cv::namedWindow("image2D");
std::thread t1(task1, "Start");
t1.join();
}
void task1(std::string msg)
{
std::cout << "Task 1: " << msg << std::endl;
// Some processings to compute img1
// Display img1
float min = -50;
float max = 100;
cv::Mat adjMap = cv::Mat::zeros(height, width, CV_8UC1);
cv::Mat img1;
float scale = 255.0 / (max - min);
zw.convertTo(adjMap, CV_8UC1, scale);
applyColorMap(adjMap, img1, cv::COLORMAP_JET);
cv::imshow("image2D", img1); // The code hangs here
cv::waitKey(1);
}
相关文章:
- 访问随机图像像素的快速方法,最多一次
- 在RAW图像中提取RGB通道值的库或方法
- 是否有一种标准化的方法通过TCP/IP网络发送JPG图像
- Tesseract/Lebonica处理单页和多页图像的正确方法
- OpenCv 在C++中从 1 D 数组制作垫子图像的最快方法
- 在Qt5中缩放高DPI图像的最佳方法是什么?
- 尝试使用 Qt 库中的 QPixmap 将图像拆分为多个块。关于他的复制方法的工作方式,我有什么不明白的吗?
- C++显示图像并将其保持到下一张图像的最佳方法
- 使用某些系数将图像转换为灰度的最快方法
- 使用OpenCV检测图像中垂直文本的方法
- 沿非连续维度对图像进行装箱的最快方法
- 从C 中的文件中读取图像,然后传递到Libharu的绘制方法
- 使用C++和OpenGL显示图像的正确方法
- C++方法中的图像旋转
- 在amd64体系结构上的C++中,将图像缓冲区blit到另一个缓冲区的xy偏移中的最快方法
- 在C++中,在图像周围填充黑色边框是最有效的方法
- 调用Qpainter的方法绘制以刷新图像和更改颜色
- QT,C++:在QGraphicsview上从相机绘制实时图像流的快速方法
- 从Gtk::TreeStore中删除图像的时髦方法
- QT是否有其他方法可以在没有QTNetworkManager的情况下加载图像