主页 > 专题 > 帕鲁指南 > 正文

19’显示器1024×768下 px和cm换算

来源:未知 作者:admin 2024-07-04 21:12

19’显示器1024×768下 px和cm换算

通过电脑不能查看自己的显示器是多少尺寸,只有用尺子量显示器的对角线,1英寸=2.54厘米,然后换算一下。

通俗的说,分辨率1024*768 就是在你的电脑屏幕上划上1024*768个格子,分辨率600*800就是在你屏幕上划600*800个格子,显然1024*768个格子要多,那么在这样的格子里面填色,格子越多,所表现的画面也就越丰富。这个就是分辨率。

不同的显示器尺寸,适合不同的分辨率,这个适合,指的是两两配合达到最佳的显示效果

比如15寸彩显,适合600*800 如果用1024*768,就会显得画面太小,比如图标

17寸的就适合1024*768,如果你用800*600 就会显得画面粗糙且大

图像卷积运算

对一个5*5的图像和一个3*3的图像做卷积运算,具体过程如下:

*

* 函数名称:

* TemplateMatchDIB()

*

* 参数:

* LPSTR lpDIBBits - 指向源DIB图像指针

* LPSTR lpDIBBitsBK - 指向背景DIB图像指针

* LONG lWidth - 源图像宽度(象素数)

* LONG lHeight - 源图像高度(象素数)

* LONG lTemplateWidth - 模板图像宽度(象素数)

* LONG lTemplateHeight - 模板图像高度(象素数)

*

* 返回值:

* BOOL - 运算成功返回TRUE,否则返回FALSE。

*

* 说明:

* 该函数用于对图像进行模板匹配运算。

*

* 要求目标图像为255个灰度值的灰度图像。

************************************************************************/

BOOL WINAPI TemplateMatchDIB (LPSTR lpDIBBits, LPSTR lpTemplateDIBBits, LONG lWidth, LONG lHeight,

LONG lTemplateWidth,LONG lTemplateHeight)

{

// 指向源图像的指针

LPSTR lpSrc,lpTemplateSrc;

// 指向缓存图像的指针

LPSTR lpDst;

// 指向缓存DIB图像的指针

LPSTR lpNewDIBBits;

HLOCAL hNewDIBBits;

//循环变量

long i;

long j;

long m;

long n;

//中间结果

double dSigmaST;

double dSigmaS;

double dSigmaT;

//相似性测度

double R;

//最大相似性测度

double MaxR;

//最大相似性出现位置

long lMaxWidth;

long lMaxHeight;

//像素值

unsigned char pixel;

unsigned char templatepixel;

// 图像每行的字节数

LONG lLineBytes,lTemplateLineBytes;

// 暂时分配内存,以保存新图像

hNewDIBBits = LocalAlloc(LHND, lWidth * lHeight);

if (hNewDIBBits == NULL)

{

// 分配内存失败

return FALSE;

}

// 锁定内存

lpNewDIBBits = (char * )LocalLock(hNewDIBBits);

// 初始化新分配的内存,设定初始值为255

lpDst = (char *)lpNewDIBBits;

memset(lpDst, (BYTE)255, lWidth * lHeight);

// 计算图像每行的字节数

lLineBytes = WIDTHBYTES(lWidth * 8);

lTemplateLineBytes = WIDTHBYTES(lTemplateWidth * 8);

//计算dSigmaT

dSigmaT = 0;

for (n = 0;n < lTemplateHeight ;n++)

{

for(m = 0;m < lTemplateWidth ;m++)

{

// 指向模板图像倒数第j行,第i个象素的指针

lpTemplateSrc = (char *)lpTemplateDIBBits + lTemplateLineBytes * n + m;

templatepixel = (unsigned char)*lpTemplateSrc;

dSigmaT += (double)templatepixel*templatepixel;

}

}

//找到图像中最大相似性的出现位置

MaxR = 0.0;

for (j = 0;j < lHeight - lTemplateHeight +1 ;j++)

{

for(i = 0;i < lWidth - lTemplateWidth + 1;i++)

{

dSigmaST = 0;

dSigmaS = 0;

for (n = 0;n < lTemplateHeight ;n++)

{

for(m = 0;m < lTemplateWidth ;m++)

{

// 指向源图像倒数第j+n行,第i+m个象素的指针

lpSrc = (char *)lpDIBBits + lLineBytes * (j+n) + (i+m);

// 指向模板图像倒数第n行,第m个象素的指针

lpTemplateSrc = (char *)lpTemplateDIBBits + lTemplateLineBytes * n + m;

pixel = (unsigned char)*lpSrc;

templatepixel = (unsigned char)*lpTemplateSrc;

dSigmaS += (double)pixel*pixel;

dSigmaST += (double)pixel*templatepixel;

}

}

//计算相似性

R = dSigmaST / ( sqrt(dSigmaS)*sqrt(dSigmaT));

//与最大相似性比较

if (R > MaxR)

{

MaxR = R;

lMaxWidth = i;

lMaxHeight = j;

}

}

}

//将最大相似性出现区域部分复制到目标图像

for (n = 0;n < lTemplateHeight ;n++)

{

for(m = 0;m < lTemplateWidth ;m++)

{

lpTemplateSrc = (char *)lpTemplateDIBBits + lTemplateLineBytes * n + m;

lpDst = (char *)lpNewDIBBits + lLineBytes * (n+lMaxHeight) + (m+lMaxWidth);

*lpDst = *lpTemplateSrc;

}

}

// 复制图像

memcpy(lpDIBBits, lpNewDIBBits, lWidth * lHeight);

// 释放内存

LocalUnlock(hNewDIBBits);

LocalFree(hNewDIBBits);

// 返回

return TRUE;

}Top

这是模板匹配的代码,

里面用的就是时域卷积的算法。

同时,时域的卷积就是频域的乘积,

可以把时域的图转化成频域,相乘。

ps

卷积需要补位,

a ,b

l >= a+b-1;

游戏攻略
热门资讯