opencv:图像的创建和储存
2024-08-24 19:05:55
示例代码:
#include <opencv.hpp>
#include <vector>
using namespace std;
using namespace cv;
void creatAlphaMat(Mat &mat) // 创建一个图像
{
for (int i = ; i < mat.rows; i++)
{
for (int j = ; j < mat.cols; j++)
{
Vec4b&rgba = mat.at<Vec4b>(i, j);
rgba[] = UCHAR_MAX;
rgba[] = saturate_cast<uchar>((float(mat.cols - j)) / ((float)mat.cols)*UCHAR_MAX);
rgba[] = saturate_cast<uchar>((float(mat.rows - i)) / ((float)mat.rows)*UCHAR_MAX);
rgba[] = saturate_cast<uchar>(0.5*(rgba[] + rgba[]));
}
}
}
int main()
{
//创建带Alpha通道的 Mat
Mat mat(, , CV_8UC4);
creatAlphaMat(mat);
vector<int>compression_params;
compression_params.push_back(IMWRITE_PNG_COMPRESSION);
compression_params.push_back();
try{
imwrite("透明值图.png", mat, compression_params);
imshow("生成的PNG图", mat);
fprintf(stdout, "PNG图片文件的数据保存完毕");
waitKey();
}
catch (runtime_error& ex){
fprintf(stderr, "图像转换发生错误:%s\n", ex.what());
return ;
}
return ;
}
运行结果:
最新文章
- Android selecter背景选择器使用
- Web3DGame之路(三)分析babylonjs
- 抓包工具--Fiddler及charles的使用
- 利用Clip制作打洞效果
- jQuery关于Select的操作
- 【Linux/Ubuntu学习 14】Linux下查看文件和文件夹大小
- jquery ajax调用
- java总结之基础类型与常量池
- Hadoop学习笔记1:伪分布式环境搭建
- 让自己的开源项目支持CocoaPods
- 解决C#中调用WCF方法报错:远程服务器返回错误 (404) 未找到
- 两年.net码农总结
- vue 列表选中 v-for class
- springMVC入门-08
- Bootstrap学习js插件篇之标签页
- 【大数据实战】Logstash采集->;Kafka->;ElasticSearch检索
- 高性能WEB开发:DOM编程
- 线程池 ------ linux C实现
- 某游戏应用的redis 数据库结构设计(转)
- css3制作有动画效果的面板
热门文章
- Flask(2)- 装饰器的坑及解决办法、flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件、重定义错误页面)
- Django - 权限(4)- queryset、二级菜单的默认显示、动态显示按钮权限
- HDU3552(贪心)
- Python 模块之 pyexcel_xls
- linux下Tomcat shutdown无效
- 让你的代码量减少3倍!使用kotlin开发Android
- s5_day12作业
- Java AOP总结
- 125. Valid Palindrome(判断忽略标点的字符串是否回文,加个正则,与上一题解法一样)
- HDU - 6386 Age of Moyu 2018 Multi-University Training Contest 7 (Dijkstra变型)