Archived
实验一代码
This commit is contained in:
1 parent
183ff2d8dc
commit
d8aa483712
6 files changed
+324
No files matched your search
+48
@@ -0,0 +1,48 @@
|
|||||||
|
# Visual Studio / Visual C++
|
||||||
|
.vs/
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
*.VC.db
|
||||||
|
*.VC.opendb
|
||||||
|
ipch/
|
||||||
|
obj/
|
||||||
|
[Bb]uild/
|
||||||
|
[Bb]in/
|
||||||
|
Debug*/
|
||||||
|
Release*/
|
||||||
|
x64/
|
||||||
|
*.vcxproj.user
|
||||||
|
*.filters.user
|
||||||
|
|
||||||
|
# Visual C++ generated
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
*.pdb
|
||||||
|
*.idb
|
||||||
|
*.ilk
|
||||||
|
*.exp
|
||||||
|
*.lib
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
|
||||||
|
# IntelliSense / database
|
||||||
|
*.sdf
|
||||||
|
*.opensdf
|
||||||
|
*.ncb
|
||||||
|
|
||||||
|
# Logs and temp
|
||||||
|
*.log
|
||||||
|
*.cache
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
desktop.ini
|
||||||
|
|
||||||
|
# Raw image / data files (ignore large binary test files)
|
||||||
|
*.raw
|
||||||
|
result.txt
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# Visual Studio / Visual C++
|
||||||
|
.vs/
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
*.VC.db
|
||||||
|
*.VC.opendb
|
||||||
|
ipch/
|
||||||
|
obj/
|
||||||
|
[Bb]uild/
|
||||||
|
[Bb]in/
|
||||||
|
Debug*/
|
||||||
|
Release*/
|
||||||
|
x64/
|
||||||
|
*.vcxproj.user
|
||||||
|
*.filters.user
|
||||||
|
|
||||||
|
# Visual C++ generated
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
*.pdb
|
||||||
|
*.idb
|
||||||
|
*.ilk
|
||||||
|
*.exp
|
||||||
|
*.lib
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
|
||||||
|
# IntelliSense / database
|
||||||
|
*.sdf
|
||||||
|
*.opensdf
|
||||||
|
*.ncb
|
||||||
|
|
||||||
|
# Logs and temp
|
||||||
|
*.log
|
||||||
|
*.cache
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
desktop.ini
|
||||||
|
|
||||||
|
# Raw image / data files (ignore large binary test files)
|
||||||
|
*.raw
|
||||||
|
result.txt
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
#include<iostream>
|
||||||
|
#include<cstdio>
|
||||||
|
#include<cmath>
|
||||||
|
#define H 1210
|
||||||
|
#define W 1240
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
unsigned char* grey;
|
||||||
|
// 存灰度值的数组
|
||||||
|
grey = new unsigned char[H * W];
|
||||||
|
FILE* filetest;
|
||||||
|
//读取文件
|
||||||
|
fopen_s(&filetest, "E:\\Digital image process\\lab-1\\第一次上机实验数据\\test.raw", "rb");
|
||||||
|
fread(grey, sizeof(unsigned char), H * W, filetest);
|
||||||
|
|
||||||
|
int i, j;
|
||||||
|
int* Pi_number = new int[256];
|
||||||
|
for (i = 0; i < 256; i++) {
|
||||||
|
Pi_number[i] = 0;
|
||||||
|
}
|
||||||
|
for (i = 0; i < H; i++) {
|
||||||
|
for (j = 0; j < W; j++) {
|
||||||
|
Pi_number[grey[i * W + j]]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
float* Pi = new float[256];
|
||||||
|
for (i = 0; i < 256; i++) {
|
||||||
|
Pi[i] = (float)Pi_number[i] / (H * W);
|
||||||
|
}
|
||||||
|
|
||||||
|
//计算均值和标准差
|
||||||
|
float mean = 0;
|
||||||
|
for (i = 0; i < 256; i++) {
|
||||||
|
mean += (float)i * Pi[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
float variance = 0;
|
||||||
|
for (i = 0; i < 256; i++) {
|
||||||
|
variance += Pi[i] * (i - mean) * (i - mean);
|
||||||
|
}
|
||||||
|
float stdvar = sqrt(variance);
|
||||||
|
|
||||||
|
FILE* fileout;
|
||||||
|
|
||||||
|
fopen_s(&fileout, "E:\\Digital image process\\lab-1\\第一次上机实验数据\\result.txt", "w");
|
||||||
|
|
||||||
|
fprintf(fileout, "完成人:测绘2401 24110901003 毕爽爽 \n");
|
||||||
|
fprintf(fileout, "均值:%f,标准差:%f\n", mean, stdvar);
|
||||||
|
for (i = 0; i < 256; i++) {
|
||||||
|
fprintf(fileout, "灰度值为%d的像素个数:%d,频率:%f\n", i, Pi_number[i], Pi[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(filetest);
|
||||||
|
fclose(fileout);
|
||||||
|
}
|
||||||
Loaded 3 of 6 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user