骑行的小牛 2021-06-03 09:50 采纳率: 53.8%
浏览 16

Qt对摄像头显示画面做直方图,不能实时显示图,只在关闭重启的瞬间出现一点点直方图,这是什么原因??

void CameraWidget::initChatView() {
	//
	//qDebug() << "ChartView begin:";
	int yRange = 0;
	_chart = new QChart();
	

	//设置横坐标
	QStringList categories;
	for (int i = 0; i<256; i++)
		if(i%50 == 0)
		{ 
			categories.append(QString::number(i));
		}
	QBarCategoryAxis *axisX = new QBarCategoryAxis();
	axisX->append(categories);

	//设置纵坐标
	QValueAxis *axisY = new QValueAxis;
	axisY->setLabelFormat("%d");
	axisY->setRange(0, yRange);

	_chart->setAxisX(axisX);
	_chart->setAxisY(axisY);
	//_chart->addAxis(axisX, Qt::AlignBottom);
	//_chart->addAxis(axisY, Qt::AlignLeft);
	//series->attachAxis(axisX);
	//series->attachAxis(axisY);

	_chart->setTitle("GrayHistogram");
	_chart->legend()->setVisible(false);
	_chart->createDefaultAxes();
	_chart->setAnimationOptions(QChart::SeriesAnimations);
	
	_series = new QBarSeries();
	ui->histwidget->setChart(_chart);
	ui->histwidget->setRenderHint(QPainter::Antialiasing);
	ui->histwidget->setVisible(true);
}

void CameraWidget::onUpdateBarSeries(int* data) {
	qDebug() << "CameraWidget::onUpdateBarSeries>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> make chart:";

	//设置每个“柱”的颜色,值,宽度等
	qDebug() << "Data::" << data;

	int yRange = 0;
	auto set = new QBarSet("Pixel");

	for (int i = 0; i<256; i++)
	{
		//qDebug() << "data[i] = " << data[i];
		set->append(data[i]);
		if (yRange<data[i]) yRange = data[i];
		set->setColor(QColor::Rgb);
	}

	_series->clear();
	_series->append(set);
	_series->setBarWidth(1.2);
	
	_chart->addSeries(_series);

	delete[] data;

}
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:44
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了