版权声明:https://blog.csdn.net/CAIYUNFREEDOM https://blog.csdn.net/CAIYUNFREEDOM/article/details/90112429
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc,char **argv)
{
int th =0;// atoi(argv[1]);
Mat m = imread("a.jpg"),d;
cvtColor(m, m, CV_BGR2GRAY);
imshow("img",m);
printf("%d\n",__LINE__);
m.copyTo(d);
//cvtColor(d, d, CV_BGR2GRAY);
Size s = m.size();
cout<<s<<endl;
printf("%d\n",__LINE__);
//imshow("erode img",d);
int value;
for(th = 100;th<200;th++)
{
for(int i=0;i<s.width;i++)
for(int j = 0;j<s.height;j++)
{
value = (int)(m.at<uchar>(j,i));
if(value<th)
d.ptr<uchar>(j)[i] = 0;
//else d.ptr<uchar>(j)[i] = 255;
//cout<< value <<" ";
}
char name[200];
sprintf(name,"%d.jpg",th);
imwrite(name,d);
}
cout<<endl;
waitKey(0);
//imwrite("a.bmp",img);
return 0;
}
RGB
#include <opencv2/opencv.hpp>
#include <iostream>
#include <fstream>
using namespace cv;
using namespace std;
//点击鼠标返回相应坐标位置并存到txtpoints2文件中
#define WINDOW "sou4rce image"
Mat src;
void On_mouse(int event, int x, int y, int flags, void*);
Point recent_Point;
ofstream file("point2.txt", ios::out | ios::binary);
int main()
{
int sz[3] = {2,2,2};
int i,j,k,m=0,n=0;
Mat L(4096, 4096, CV_8UC3, Scalar(0, 0,255));
Scalar s;
for(i=0;i<255;i++)
{
for(j=0;j<256;j++)
for(k=0;k<256;k++)
{
if(i==255)
cout<<m<<","<<n<<'('<<i<<','<<j<<','<<k<<')'<<endl;
L.at<Vec3b>(m,n)=Vec3b(i, j, k);
n++;
if(n==4096){n=0;m++;}
}
// cout<<i<<endl;
}
L.copyTo(src);
cout<<L.size()<<endl;
//src = imread("/home/q/eclipse-workspace/myfcv/Debug/000000.jpg");
namedWindow(WINDOW, WINDOW_NORMAL);
// setMouseCallback(WINDOW, On_mouse);
//while (1)
imshow(WINDOW, L);//点击的开始
waitKey(0);
file.close();
return 0;
}
void On_mouse(int event, int x, int y, int flags, void*)//每次点击左键,将将当前点坐标存储到txt文件中,并在相应位置画红点
{
if (event == EVENT_LBUTTONDOWN || event == EVENT_MOUSEMOVE)
{
recent_Point = Point(x, y);
file << recent_Point.x << " " << recent_Point.y<<" ";
circle(src, recent_Point, 3, Scalar(25, 0, 0), -1);
imshow(WINDOW, src);
//printf("%d,%d\n",x,y);
}
}