当前位置: 首页 > news >正文

我自己做个网站怎么做软件开发公司经营范围

我自己做个网站怎么做,软件开发公司经营范围,校园网站建设的背景,昆明做网站首选互维需求:将两张尺寸相同的灰度图像进行合并,合并后的图像,每个像素点灰度值为两张原图对应像素点灰度值之和。若超过255,则最大为255。 方法一: 将图像读取为cv::Mat,再调用opencv的cv::add方法,进…

需求:将两张尺寸相同的灰度图像进行合并,合并后的图像,每个像素点灰度值为两张原图对应像素点灰度值之和。若超过255,则最大为255。


方法一:
将图像读取为cv::Mat,再调用opencv的cv::add方法,进行合并。

方法二:
不调用opencv的方法。假设两个图像数数据都为void 指针,先将其都转为unsigned char 指针,再按下标进行相加,并处理溢出情况。用一个新的unsigned char指针接收,最后再转回void指针。


配置opencv方法可参考以下文章:
https://blog.csdn.net/bangtanhui/article/details/135583311


效果如下:
两张一样的原图,合并后得到一张整体灰度值更高(更亮)的图。

在这里插入图片描述
在这里插入图片描述

参考代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"//该函数用于将cv::Mat转为QImage
QImage cvMat2QImage(const cv::Mat& mat)
{// 8-bits unsigned, NO. OF CHANNELS = 1if(mat.type() == CV_8UC1) {QImage image(mat.cols, mat.rows, QImage::Format_Indexed8);// Set the color table (used to translate colour indexes to qRgb values)image.setColorCount(256);for(int i = 0; i < 256; i++) {image.setColor(i, qRgb(i, i, i));}// Copy input Matuchar *pSrc = mat.data;for(int row = 0; row < mat.rows; row ++) {uchar *pDest = image.scanLine(row);memcpy(pDest, pSrc, static_cast<size_t>(mat.cols));pSrc += mat.step;}return image;} else if(mat.type() == CV_8UC3) {      // 8-bits unsigned, NO. OF CHANNELS = 3// Copy input Matconst uchar *pSrc = static_cast<const uchar*>(mat.data);// Create QImage with same dimensions as input MatQImage image(pSrc, mat.cols, mat.rows, static_cast<int>(mat.step), QImage::Format_RGB888);return image.rgbSwapped();} else if(mat.type() == CV_8UC4) {// Copy input Matconst uchar *pSrc = static_cast<const uchar*>(mat.data);// Create QImage with same dimensions as input MatQImage image(pSrc, mat.cols, mat.rows, static_cast<int>(mat.step), QImage::Format_ARGB32);return image.copy();} else {return QImage();}
}MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);QString imgPath1 = "E:\\QtDemo\\ImageMerge_Demo\\img_test.bmp";QString imgPath2 = "E:\\QtDemo\\ImageMerge_Demo\\img_test_append.bmp";cv::Mat imgMat1 = cv::imread(imgPath1.toStdString(), CV_8UC1);cv::Mat imgMat2 = cv::imread(imgPath2.toStdString(), CV_8UC1);#if 0//方法一cv::Mat addImgMat;//两个图像尺寸需要相同,不然会出错//该方法不需要考虑超过255的情况cv::add(imgMat1, imgMat2, addImgMat);QImage addImage = cvMat2QImage(addImgMat);addImage.save("add.bmp");#else//方法二void* dataPtr1 = static_cast<void*>(imgMat1.data);void* dataPtr2 = static_cast<void*>(imgMat2.data);unsigned char* imgData1 = static_cast<unsigned char*>(dataPtr1);unsigned char* imgData2 = static_cast<unsigned char*>(dataPtr2);unsigned char *Data = new unsigned char[8192*4000];for(int i=0; i<8192*4000; i++){unsigned short sum = imgData1[i] + imgData2[i];Data[i] = sum > 255 ? 255 : sum;}void* voidPtr = static_cast<void*>(Data);cv::Mat addMat = cv::Mat(static_cast<int>(4000), static_cast<int>(8192), CV_8UC1, voidPtr);QImage addImg = cvMat2QImage(addMat);addImg.save("add2.bmp");#endif}MainWindow::~MainWindow()
{delete ui;
}
http://www.dt0577.cn/news/14528.html

相关文章:

  • 大型网站一般用什么语言做的青岛网站快速排名优化
  • 17网站一起做网店广州新塘百度网站权重查询
  • 网站搭建是什么专业学的seo是做什么工作的
  • 怎么做网站弹幕app开发软件
  • 网站开发制作包括哪些的基本流程四川seo快速排名
  • 云南网站建设首选才力网站建设是干嘛的
  • 网站建设发票热点新闻事件今日最新
  • 手机兼职快递录单员aso优化服务平台
  • 优质的常州网站建设怎样建立自己的网站平台
  • 怎么自己做视频网站廊坊关键词优化报价
  • 如何做一个网站网络营销与直播电商是干什么的
  • 做网站要钱的吗广告投放推广平台
  • 玉溪网站建设现状竞价托管推广
  • 有做财经 直播的网站吗淘特app推广代理
  • wordpress单页营销主题seo网站优化是什么
  • 怎么做网站里插入背景音乐创建一个网站
  • 电商网站建设公司淄博搜索引擎优化
  • 怎么自己做网站吗广州百度推广客服电话
  • 武汉网站建设 汉街网站维护推广的方案
  • 青年旅舍 wordpress 模版seo排名培训学校
  • 济南建设网站的公司哪家好优化大师优化项目有哪些
  • 西安学网站开发哪边好如何优化关键词搜索
  • 做网站插背景图片如何变大东莞seo软件
  • 蓝色的包装材料企业网站模板今日国内新闻头条新闻
  • 通化网站制作seo优化工程师
  • 南宁网络推广培训机构找索引擎seo
  • 好的摄影网站推荐移动慧生活app下载
  • 幼儿园网站建设郑州品牌网站建设
  • 建筑公司二级资质要求阜阳seo
  • 做静态网站需要成本吗合肥百度推广优化