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

网站建设横幅系列素材巩义关键词优化推广

网站建设横幅系列素材,巩义关键词优化推广,wordpress 电影采集,中国工业设计公司排名前十强目录 一、图像操作 1、读写图像 2、读写像素 3、修改像素值 4、Vec3b与Vec3F 5、相关的代码演示 二、图像混合 1、理论-线性混合操作 2、相关API(addWeighted) 3、代码演示#xff08;完整的例子#xff09; 一、图像操作 1、读写图像 #xff08;1#xff09;…目录 一、图像操作 1、读写图像 2、读写像素 3、修改像素值 4、Vec3b与Vec3F 5、相关的代码演示 二、图像混合 1、理论-线性混合操作 2、相关API(addWeighted) 3、代码演示完整的例子 一、图像操作 1、读写图像 1imread 可以指定加载为灰度或者RGB图像 2Imwrite 保存图像文件类型由扩展名决定 2、读写像素 1读一个GRAY像素点的像素值CV_8UC1 Scalar intensity img.atuchar(y, x); 或者 Scalar intensity img.atuchar(Point(x, y)); 2读一个RGB像素点的像素值 Vec3f intensity img.atVec3f(y, x); float blue intensity.val[0]; float green intensity.val[1]; float red intensity.val[2]; 3、修改像素值 1灰度图像 img.atuchar(y, x) 128; 2RGB三通道图像 img.atVec3b(y,x)[0]128; // blue img.atVec3b(y,x)[1]128; // green img.atVec3b(y,x)[2]128; // red 3空白图像赋值 img Scalar(0); 4ROI选择 Rect r(10, 10, 100, 100); Mat smallImg img(r); 4、Vec3b与Vec3F 1Vec3b对应三通道的顺序是blue、green、red的uchar类型数据。 2Vec3f对应三通道的float类型数据 3把CV_8UC1转换到CV32F1实现如下 src.convertTo(dst, CV_32F); 5、相关的代码演示 #include opencv2/core/core.hpp #include opencv2/imgcodecs.hpp #include opencv2/opencv.hpp #include opencv2/highgui/highgui.hpp #include iostreamusing namespace cv; using namespace std; int main(int argc, char** args) {Mat image imread(D:/test.jpg, IMREAD_COLOR);if (image.empty()) {cout could not find the image resource... std::endl;return -1;}Mat grayImg;cvtColor(image, grayImg, COLOR_BGR2GRAY);Mat sobelx; Sobel(grayImg, sobelx, CV_32F, 1, 0);double minVal, maxVal;minMaxLoc(sobelx, minVal, maxVal); //find minimum and maximum intensitiesMat draw;sobelx.convertTo(draw, CV_8U, 255.0 / (maxVal - minVal), -minVal * 255.0 / (maxVal - minVal));/*int height image.rows;int width image.cols;int channels image.channels();printf(height%d width%d channels%d, height, width, channels);for (int row 0; row height; row) {for (int col 0; col width; col) {if (channels 3) {image.atVec3b(row, col)[0] 0; // blueimage.atVec3b(row, col)[1] 0; // green}}}*/namedWindow(My Image, CV_WINDOW_AUTOSIZE);imshow(My Image, draw);waitKey(0);return 0; } 效果展示 bitwise_not(这接口使用逐位取反 #includeopencv2\opencv.hpp #includeiostreamusing namespace cv;int main() {Mat src, dst;src imread(test.jpg);if (!src.data){printf(could not load image...\n);}namedWindow(input image, CV_WINDOW_AUTOSIZE);imshow(input image, src);// 单通道的MatMat gray_src;cvtColor(src, gray_src, COLOR_RGB2GRAY);// 颜色空间的转换int nc src.channels();// 图像像素操作取反后看输出是什么样子for (int row 0; row src.rows; row){for (int col 0; col src.cols; col){if (nc 1){int gray gray_src.atuchar(row, col);gray_src.atuchar(row, col) 255 - gray;}else if (nc 3){int b src.atVec3b(row, col)[0];int g src.atVec3b(row, col)[1];int r src.atVec3b(row, col)[2];dst.atVec3b(row, col)[0] 255 - b;dst.atVec3b(row, col)[1] 255 - g;dst.atVec3b(row, col)[2] 255 - r;//取最大值为灰度像素值//gray_src.atuchar(row, col) max(r, max(b, g));//取最小值为灰度像素值//gray_src.atuchar(row, col) min(r, min(b, g));}}}// 最后一个if的操作就是3色通道的rgb都取反可以用下面的接口代替//bitwise_not(src, dst);//能实现一样的效果namedWindow(mask_result, CV_WINDOW_AUTOSIZE);imshow(mask_result, dst);//imshow(mask_result, gray_src); //输出灰色图像waitKey(0);return 0;} 运行代码得出最后的效果 二、图像混合 1、理论-线性混合操作 其中      的取值范围为0~1之间 2、相关API(addWeighted) addWeighted 是OpenCV中的一个函数用于对两个图像进行加权相加。它可以用于图像融合、图像混合以及图像叠加等应用。 函数原型如下 void cv::addWeighted(InputArray src1,double alpha,InputArray src2,double beta,double gamma,OutputArray dst,int dtype -1)参数说明 src1第一个输入图像。alpha第一个输入图像的权重。src2第二个输入图像。beta第二个输入图像的权重。gamma加到结果上的标量值。dst输出图像与输入图像具有相同的尺寸和类型。dtype可选参数指定输出图像的数据类型默认为-1表示与输入图像保持一致。 关键代码实现 cv::Mat image1 cv::imread(image1.jpg); cv::Mat image2 cv::imread(image2.jpg);cv::Mat blendedImage; double alpha 0.5; // 第一个图像的权重double beta 0.5; // 第二个图像的权重double gamma 0.0; // 加到结果上的标量值cv::addWeighted(image1, alpha, image2, beta, gamma, blendedImage);cv::imshow(Blended Image, blendedImage); cv::waitKey(0);代码将加载两张图像然后用 addWeighted 函数将它们进行加权相加并将结果显示在窗口中。 你可以根据实际需求调整 alpha、beta 和 gamma 的值以及选择不同的图像作为输入来实现不同的效果。 3、代码演示完整的例子 #include opencv2/opencv.hpp #include iostreamusing namespace std; using namespace cv;int main(int argc, char** argv) {Mat src1, src2, dst;src1 imread(D:/vcprojects/images/LinuxLogo.jpg);src2 imread(D:/vcprojects/images/win7logo.jpg);if (!src1.data) {cout could not load image Linux Logo... endl;return -1;}if (!src2.data) {cout could not load image WIN7 Logo... endl;return -1;}double alpha 0.5;if (src1.rows src2.rows src1.cols src2.cols src1.type() src2.type()) {// addWeighted(src1, alpha, src2, (1.0 - alpha), 0.0, dst);// multiply(src1, src2, dst, 1.0);imshow(linuxlogo, src1);imshow(win7logo, src2);namedWindow(blend demo, CV_WINDOW_AUTOSIZE);imshow(blend demo, dst);}else {printf(could not blend images , the size of images is not same...\n);return -1;}waitKey(0);return 0; } 效果如下
http://www.w-s-a.com/news/319960/

相关文章:

  • 济南网站建设cnwenhui中交路桥建设网站
  • 韶关网站开发网站建设任务分解
  • 网站建设核心点阿根廷网站后缀
  • 哪些网站可以做招商广告语学校官网页面设计
  • 十堰城市建设网站网站开发流程宜春
  • 内江网站建设郑州网站优化外包
  • 土地流转网站建设项目云南抖音推广
  • 建设银行网站无法打开2021年有没有人给个网站
  • 高端手机网站建设网站建设岗位绩效
  • 泰安网络推广 网站建设 网站优化免费素材网站psd
  • 做企业网站联系网站开发具体的工作内容
  • 联合易网北京网站建设公司怎么样网站页面开发流程
  • 2015做那些网站能致富网站建设审批表
  • 深圳 网站设计个人名片模板
  • 网站建设费用选网络专业网站在线推广
  • 天津建设网站c2成绩查询用记事本制作html网页代码
  • 织梦二次开发手机网站如何成为一名设计师
  • 网站公司建设网站镇江本地网站
  • 网页设计后面是网站建设吗凡客诚品的配送方式
  • 万链网站做的怎么样?深圳门户网站开发
  • 在线设计工具的网站怎么做wordpress多语言版本号
  • 建设购物网站要求优秀网站大全
  • 平顶山做网站公司用源码网站好优化吗
  • 网上电商游戏优化大师手机版
  • 个人微信公众号怎么做微网站吗网站域名需要续费吗
  • 有效的网站建设公丹阳做网站的
  • 哪些行业做网站的多学企业网站开发
  • 外贸seo网站制作网站备案的流程
  • 网站布局教程wordpress 侧边栏位置
  • 谁有手机网站啊介绍一下dedecms 网站重复文章