#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
Mat imgS, imgD;
imgS = imread(argv[1], CV_LOAD_IMAGE_COLOR); //讀取圖像
imgS.copyTo(imgD);
// 這邊寫程式碼改變像素值
int inc = stoi(argv[2]); // inc 為改變量
// 位於[x,y]像素的b,g,r可由下列方式存取
// imgD.at(y, x)[0]
// imgD.at(y, x)[1]
// imgD.at(y, x)[2]
int rows = imgS.rows;//行
int cols = imgS.cols;//列
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (i <= rows / 2)
{
imgD.at<Vec3b>(i, j)[0] = saturate_cast<uchar>(inc + imgD.at<Vec3b>(i, j)[0]);
imgD.at<Vec3b>(i, j)[1] = saturate_cast<uchar>(inc + imgD.at<Vec3b>(i, j)[1]);
imgD.at<Vec3b>(i, j)[2] = saturate_cast<uchar>(inc + imgD.at<Vec3b>(i, j)[2]);
}
else
{
imgD.at<Vec3b>(i, j)[0] = saturate_cast<uchar>(imgD.at<Vec3b>(i, j)[0] - inc);
imgD.at<Vec3b>(i, j)[1] = saturate_cast<uchar>(imgD.at<Vec3b>(i, j)[1] - inc);
imgD.at<Vec3b>(i, j)[2] = saturate_cast<uchar>(imgD.at<Vec3b>(i, j)[2] - inc);
}
}
}
// 把目錄去掉得到圖像檔案名稱
string filename = argv[1];
size_t last_slash_idx = filename.find_last_of("\\/");
filename.erase(0, last_slash_idx);
// 加上目錄 \output 寫出檔案
string pathOfile = ".\\output\\" + filename;
imwrite(pathOfile, imgD);
// 你可以利用下列程式碼在自己電腦顯示圖像看結果
/*
namedWindow("Source image", CV_WINDOW_AUTOSIZE);
imshow("Source image", imgS);
namedWindow("Output image", CV_WINDOW_AUTOSIZE);
imshow("Output image", imgD);
waitKey(0);
*/
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
hw1.zip_ARGUMENT!_lkd_图像处理_改变图片上半部分和下半部分像素值
共24个文件
tlog:6个
ipch:3个
pdb:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 17 浏览量
2022-09-20
10:40:57
上传
评论
收藏 26.56MB ZIP 举报
温馨提示
撰写一个程式由目录..\upload\ 中读取一张图像,将图像上半部分的每一个点像素的值加上一个整数值v,而图像下半部分的每一个点像素的值减去值v,将修改后的图像以输入图像相同档案名字储存至目录..\output\ 中。 1. 输入图像档名与亮度调整值 v 必须由程式命令列引数(command line argument)取 得。其中第一个引数 argv[1]为包含目录 upload\的图像档案名称,第 2 个引数为调整 值 v。 2. 输入图像必需以输入图档同样名称写出储存至 output\目录下。 3. 程式必须处理像素值溢位问题(overflow, underflow),确保像素 r, g, b 各值在 0 至 255 正确显示颜色。
资源详情
资源评论
资源推荐
收起资源包目录
hw1.zip (24个子文件)
hw1
.vs
hw1
v15
Browse.VC.db 18.41MB
.suo 26KB
ipch
AutoPCH
45af461624afeec4
HW1.ipch 21.13MB
a70797090f267d7b
HW1.ipch 64MB
721b5f31da70dc60
HW1.ipch 25.19MB
hw1.sln 1KB
x64
Debug
hw1.pdb 596KB
hw1.ilk 545KB
hw1.exe 110KB
Debug
hw1
hw1.vcxproj.user 165B
hw1.vcxproj.filters 948B
hw1.vcxproj 6KB
x64
Debug
hw1.obj 304KB
vc141.idb 219KB
hw1.tlog
CL.write.1.tlog 368B
CL.read.1.tlog 26KB
CL.command.1.tlog 560B
link.write.1.tlog 356B
link.command.1.tlog 1KB
link.read.1.tlog 4KB
hw1.lastbuildstate 197B
hw1.log 74B
vc141.pdb 772KB
hw1.cpp 2KB
共 24 条
- 1
APei
- 粉丝: 81
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0