根本无法理解在阵列中存储像素数据的概念
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根本无法理解在阵列中存储像素数据的概念相关的知识,希望对你有一定的参考价值。
(已经提交的作业)我上交的内容甚至没有编译。这不是点,它纯粹是为了理解(查看截止日期)我能够完成剩下的任务但是因为我无法弄清楚如何相对于高度/宽度保存像素数据。我真的花了最后5个小时试图理解这一点,但它只是没有点击。
如何保存单个像素rgb值。在读入图像时,如何判断程序@ height 1,width 1,读取green = 200,blue = ...,red = ....?如果有人知道maxVal指的是什么会有所帮助
typdef struct
{
unsigned char green;
unsigned char blue;
unsigned char red;
}pixelD;
typedef struct
{
pixelD * pixel;
} Color;
imageData
Image * ReadImage(char *filename)
{
//* items were added by instructor. I dont see how the magicNum array
would be useful here
/* These lines are useful:
* char magicNum[128];
* int width, height, maxval;
int imgSize = (width * height * sizeof(pixel));
* fscanf(f_in, "%s
%d %d
%d
", magicNum, &width, &height, &maxval);
pixel = malloc(imgSize);
fread()????? this is supposedly the key?
作业:您将开始操作图像1)编写一个结构来存储图像。
== 2.1 Image struct ==你的Image结构需要一个宽度,一个高度和一个缓冲区来存储图像数据。如 我们在课堂上讨论过,图像数据是像素数据的二维数组。一个像素包含3个无符号字符:一个用于红色,一个用于绿色,一个用于蓝色。有多种方式 存储这些数据,它们都是正确的
答案
您需要执行的步骤是:
- 读取高度和宽度
- 计算用于保存数据的缓冲区的大小
- 为缓冲区分配空间
- 读取数据并将其放入缓冲区。
ReadImage中的注释可以帮助您解决这个问题。只需将它们按顺序排列并定义变量名称即可。
以上是关于根本无法理解在阵列中存储像素数据的概念的主要内容,如果未能解决你的问题,请参考以下文章
RAM-Based Shift Register (ALTSHIFT_TAPS) IP Core-实现3X3像素阵列存储