平台vs c++与opencv 实现图像压缩 训练矢量 LBG算法设计码书 根据码书显示压缩后图像
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-25 19:37 compression
目录 0 2018-11-25 01:58 compression.vs
目录 0 2018-11-25 01:58 compression.vsConsoleApplication2
目录 0 2018-11-25 01:58 compression.vsConsoleApplication2v14
文件 44544 2018-11-24 13:03 compression.vsConsoleApplication2v14.suo
目录 0 2018-11-25 01:58 compressionConsoleApplication2
文件 6041 2018-11-24 13:00 compressionConsoleApplication2ConsoleApplication2.cpp
文件 8795 2018-11-24 10:19 compressionConsoleApplication2ConsoleApplication2.vcxproj
文件 1326 2018-11-22 14:54 compressionConsoleApplication2ConsoleApplication2.vcxproj.filters
文件 165 2018-11-22 15:06 compressionConsoleApplication2ConsoleApplication2.vcxproj.user
目录 0 2018-11-25 01:58 compressionConsoleApplication2Debug
目录 0 2018-11-25 01:58 compressionConsoleApplication2DebugConsoleA.8E535029.tlog
文件 1994 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogCL.command.1.tlog
文件 5216 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogCL.read.1.tlog
文件 1638 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogCL.write.1.tlog
文件 243 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogConsoleApplication2.lastbuildstate
文件 0 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogunsuccessfulbuild
文件 1073 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleApplication2.log
文件 3407872 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleApplication2.pch
文件 12474 2018-11-22 14:56 compressionConsoleApplication2Debugstdafx.obj
文件 93184 2018-11-22 14:56 compressionConsoleApplication2Debugvc140.idb
文件 143360 2018-11-22 14:56 compressionConsoleApplication2Debugvc140.pdb
文件 90965 2018-11-24 13:00 compressionConsoleApplication2Gray.jpg
文件 719641 2018-11-07 11:31 compressionConsoleApplication2Lena.jpg
文件 122 2018-11-24 12:44 compressionConsoleApplication2ReadMe.txt
文件 223 2018-11-22 14:54 compressionConsoleApplication2stdafx.cpp
文件 234 2018-11-22 14:54 compressionConsoleApplication2stdafx.h
文件 240 2018-11-22 14:54 compressionConsoleApplication2 argetver.h
目录 0 2018-11-25 01:58 compressionConsoleApplication2x64
目录 0 2018-11-25 01:58 compressionConsoleApplication2x64Debug
目录 0 2018-11-25 01:58 compressionConsoleApplication2x64DebugConsoleA.8E535029.tlog
............此处省略34个文件信息
#include “stdafx.h“
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
double num[512][512] = { 0 };
double data5[512][512] = { 0 };
double data3[4096][64] = { 0 };
double data1[512 * 512] = { 0 };
double data2[4096][64] = { 0 };
double MIU[4096][512] = { 0 };
double code_book1[512][64] = { 0 };
int main(int argc char* argv[])
{
const char* imagename = “Lena.jpg“;
IplImage * img = cvLoadImage(imagename);
if (!img)
{
fprintf(stderr “Can not load image %s
“ imagename);
return -1;
}
if (!img->imageData) // 检查是否正确载入图像
return -1;
cvNamedWindow(“image“ CV_WINDOW_AUTOSIZE); //创建窗口
cvShowImage(“image“ img); //显示图
IplImage* img1 = cvCreateImage(cvGetSize(img) IPL_DEPTH_8U 1);//创建目标图像
cvCvtColor(img img1 CV_BGR2GRAY);//cvCvtColor(srcdesCV_BGR2GRAY)
cvNamedWindow(“gray_image“ CV_WINDOW_AUTOSIZE);//创建显示目标的窗口
cvShowImage(“gray_image“ img1);//显示灰度图像
cvSaveImage(“Gray.jpg“ img1 0);
cvWaitKey();
cvReleaseImage(&img);
cvReleaseImage(&img1);
//system(“pause“);
IplImage *img2 = cvLoadImage(“Gray.jpg“ 0);
CvScalar pixel;
int m = 512;
int n = 512;
for (int i = 0; i < img2->height; ++i)
{
for (int j = 0; j < img2->width; ++j)
{
//获得像素的RGB值并显示
pixel = cvGet2D(img2 i j);
//printf(“B=%fG=%fR=%f “ pixel.val[0] pixel.val[1] pixel.val[2]);
num[i][j] = pixel.val[0];
}
}
for (int ii = 0; ii for (int ij = 0; ij < n; ij++)
num[ii][ij] = num[ii][ij] / 255;
}
cout << “归一化数据为“ << endl;
for (int ii = 0; ii < 8; ii++) {
for (int ij = 0; ij < 8; ij++) {
cout << num[ii][ij] << “ “;
}
cout << endl;
}
//system(“pause“);
//设置码字大小为8 * 8即64个像素值
int code_word_size = 64;
//设置码书大小
int code_book_size = 512;
for (int ii = 0; ii < 512; ii++) {
for (int ij = 0; ij < 512; ij++) {
data1[ii*n + ij] = num[ii][ij];
}
}
int M1 = floor(m*n / code_word_size);
//这里m1等于4096
int r = (m*n) % code_word_size;
//这里r等于0
if (r > 0) {
M1 += 1;
}
cout << “66“ << endl;
int l = 1;
double A[64] = { 0 };
r = 1;
for (int ii = 0; ii < m*n;ii= ii + 1) {
A[r] = data1[ii];
if (r == code_word_size) {
for (int ij = 0; ij < 64; ij++) {
data2[l][ij] = A[ij];
}
l = l + 1;
r = 1;
}
else {
r = r + 1;
}
//cout << ii << endl;
}
cout << “82“ << endl;
double code_book[512][64] = { 0 };
cout << “84“ << endl;
//图像矢量压缩基于LbG算法实现
l = 1;
r = 1;
//double A[64] = { 0 };//初始化码书
for (int ii = 0; ii < 64; ii++)
A[ii] = 0;
for (int ii = 0; ii < code_book_size*code_word_size; ii++) {
A[r] = data1[ii];
if (r == code_word_size) {
for (int ij = 0; ij < 64; ij++)
code_book[l][ij] = A[ij];
l += 1;
r = 1;
}
else {
r += 1;
}
}
cout << “103“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-25 19:37 compression
目录 0 2018-11-25 01:58 compression.vs
目录 0 2018-11-25 01:58 compression.vsConsoleApplication2
目录 0 2018-11-25 01:58 compression.vsConsoleApplication2v14
文件 44544 2018-11-24 13:03 compression.vsConsoleApplication2v14.suo
目录 0 2018-11-25 01:58 compressionConsoleApplication2
文件 6041 2018-11-24 13:00 compressionConsoleApplication2ConsoleApplication2.cpp
文件 8795 2018-11-24 10:19 compressionConsoleApplication2ConsoleApplication2.vcxproj
文件 1326 2018-11-22 14:54 compressionConsoleApplication2ConsoleApplication2.vcxproj.filters
文件 165 2018-11-22 15:06 compressionConsoleApplication2ConsoleApplication2.vcxproj.user
目录 0 2018-11-25 01:58 compressionConsoleApplication2Debug
目录 0 2018-11-25 01:58 compressionConsoleApplication2DebugConsoleA.8E535029.tlog
文件 1994 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogCL.command.1.tlog
文件 5216 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogCL.read.1.tlog
文件 1638 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogCL.write.1.tlog
文件 243 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogConsoleApplication2.lastbuildstate
文件 0 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleA.8E535029.tlogunsuccessfulbuild
文件 1073 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleApplication2.log
文件 3407872 2018-11-22 14:56 compressionConsoleApplication2DebugConsoleApplication2.pch
文件 12474 2018-11-22 14:56 compressionConsoleApplication2Debugstdafx.obj
文件 93184 2018-11-22 14:56 compressionConsoleApplication2Debugvc140.idb
文件 143360 2018-11-22 14:56 compressionConsoleApplication2Debugvc140.pdb
文件 90965 2018-11-24 13:00 compressionConsoleApplication2Gray.jpg
文件 719641 2018-11-07 11:31 compressionConsoleApplication2Lena.jpg
文件 122 2018-11-24 12:44 compressionConsoleApplication2ReadMe.txt
文件 223 2018-11-22 14:54 compressionConsoleApplication2stdafx.cpp
文件 234 2018-11-22 14:54 compressionConsoleApplication2stdafx.h
文件 240 2018-11-22 14:54 compressionConsoleApplication2 argetver.h
目录 0 2018-11-25 01:58 compressionConsoleApplication2x64
目录 0 2018-11-25 01:58 compressionConsoleApplication2x64Debug
目录 0 2018-11-25 01:58 compressionConsoleApplication2x64DebugConsoleA.8E535029.tlog
............此处省略34个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)