资源简介
使用QT编程实现图像的灰度处理、柱状图拉升、CLAHE算法等
代码片段和文件信息
#include “imagewidget.h“
#include
ImageWidget::ImageWidget(QWidget* parent):QWidget(parent)
{
QDesktopWidget desktop;
pixmap=QImage(desktop.width()desktop.height()QImage::Format_Indexed8);
scale=1;
angle=0;
bFit=true;
biasx=0;
biasy=0;
}
void ImageWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
if(angle)
{
QPointF center(this->width()/2.0this->height()/2.0);
painter.translate(center);
painter.rotate(angle);
painter.translate(-center);
}
if(bFit)
{
QImage fitmap=pixmap.scaled(width()height()Qt::KeepAspectRatio);
painter.drawImage(biasxbiasyfitmap);
}
else
{
painter.drawImage(biasxbiasypixmap);
}
}
void ImageWidget::setPixmap(QString fileName)
{
pixmap.load(fileName);
update();
}
QImage ImageWidget::getPixmap()
{
return pixmap;
}
void ImageWidget::setAngle(qreal rotateAngle)
{
angle +=rotateAngle;
update();
}
/*void ImageWidget::changeImageToGray()//方法一
{
QSize size=pixmap.size();
int w=size.rwidth();
int h=size.rheight();
uchar* firstPP=pixmap.bits();
QImage grayImg=QImage(sizeQImage::Format_Indexed8);
uchar* firstDP=grayImg.bits();
for(int i=0;i for(int j=0;j {
*firstDP=*(firstPP+1);
firstPP+=4;
firstDP++;
}
QVector grayColorTable;
QRgb rgb;
for(int i = 0; i < 256; i++)
{
rgb=qRgb(iii);
grayColorTable.append(rgb);
}
grayImg.setColorTable(grayColorTable);
grayImg.save(“grayImg.bmp““bmp“);
}*/
void ImageWidget::changeImageToGray()//方法二最好的方法,我设计的
{
int depth=pixmap.depth();
int h=pixmap.height();
int w=pixmap.width();
QImage grayImg=QImage(whQImage::Format_Indexed8);
uint firstDP;
grayImg.setColorCount(256);
QRgb rgb;
for(int i = 0; i < 256; i++)
{
rgb=qRgb(iii);
grayImg.setColor(irgb);
}
QRgb px;
if(depth==32)
{
for(int i=0;i for(int j=0;j {
px=pixmap.pixel(ij);
firstDP=(uint)(qRed(px)*30 +qGreen(px)*59 + qBlue(px)*11 + 50) / 100;
grayImg.setPixel(ijfirstDP);
}
grayImg.save(“grayImg.bmp““bmp“);
pixmap=grayImg;
this->update();
}
else if((depth==8)||(depth==4)||(depth==1))
{
QVector grayColorTable;
QRgb rgb;
for(int i = 0; i < 256; i++)
{
rgb=qRgb(iii);
grayColorTable.append(rgb);
}
pixmap.setColorTable(grayColorTable);
}
else
return;
}
/*void ImageWidget::changeImageToGray()//方法三
{
int i=pixmap.width();
int j=pixmap.height();
QVector grayColorTable;
QRgb rgb;
for(int i = 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 87102 2010-06-16 21:32 tesImage33\debug\edgeImage.bmp
文件 787510 2010-10-08 16:01 tesImage33\debug\grayImg.bmp
文件 443918 2010-10-08 16:01 tesImage33\debug\imagewidget.o
文件 246722 2010-09-29 14:45 tesImage33\debug\main.o
文件 318546 2010-11-10 21:50 tesImage33\debug\mainwindow.o
文件 2932 2010-09-29 14:45 tesImage33\debug\moc_imagewidget.cpp
文件 258295 2010-09-29 14:45 tesImage33\debug\moc_imagewidget.o
文件 3077 2010-09-29 14:45 tesImage33\debug\moc_mainwindow.cpp
文件 267153 2010-09-29 14:45 tesImage33\debug\moc_mainwindow.o
文件 1726818 2010-11-10 21:50 tesImage33\debug\tesImage33.exe
文件 29677 2010-12-19 16:29 tesImage33\imagewidget.cpp
文件 786 2010-09-29 14:45 tesImage33\imagewidget.h
文件 279 2010-05-28 18:26 tesImage33\main.cpp
文件 6295 2010-12-19 16:33 tesImage33\mainwindow.cpp
文件 1348 2010-09-29 14:45 tesImage33\mainwindow.h
文件 6138 2010-09-14 14:34 tesImage33\Makefile
文件 6322 2010-09-14 14:34 tesImage33\Makefile.Debug
文件 6425 2010-09-14 14:34 tesImage33\Makefile.Release
文件 307 2010-05-28 16:47 tesImage33\tesImage33.pro
文件 5201 2010-12-19 16:36 tesImage33\tesImage33.pro.user
文件 12165 2010-11-10 22:38 tesImage33\tesImage33.pro.user.1.3
目录 0 2010-11-10 21:50 tesImage33\debug
目录 0 2010-05-28 18:27 tesImage33\release
目录 0 2010-12-14 19:36 tesImage33
----------- --------- ---------- ----- ----
4217016 24
- 上一篇:倒车雷达(CRE0802)资料
- 下一篇:ANSYS APDL经典界面经典
相关资源
- air202 mqtt 测试程序
- 数字图像处理标准测试图像
- qt5串口简单实现图片、pdf文件的传输
- openCV+qt视频传输
- 数字图像处理复习资料
- QT 获取天气
- Linux下QT串口通信已测可用
- QT实现的小日历
- Qt 下使用线程绘图
- pyqt qss实现的360界面
- Qt模仿360界面实现(含所有源代码)
- ds18b20-mini2440驱动,测试程序,qt显示
- qt5.8实现rtsp流播放
- Qt通过UDP传图片 实现自定义分包和组
- QT5检测USB设备
- 数字图像处理 南京邮电大学
- Qt4~实现音乐播放器~完整
- Qt 雷达图 卫星图
- 基于QT的象棋游戏
- 史上最详细的触摸屏tslib库移植和Qt的
- 基于QT的绘图软件.rar
- QT添加水印源码
- Qwt6.1.3 mvcs2015 编译库文件包含qtcreat
- Qt5.5 开发 Creo3.0 案例
- 基于linux下QT开发的简易音乐播放器
- 数字图像处理余松煜2007年.pdf
- Qt游戏编程——飞机大战
-
Qt5.8 QMediaPla
yer 音乐播放器 - QTP飞机订票测试报告
- QT版2048游戏源码
评论
共有 条评论