c# - 如何根据我的代码生成消隐和同步信号?
问题描述
我不知道如何为我的 PAL 信号生成消隐和同步信号。我直接使用图像中的像素值,并将它们放入标准的公式中。
我获取了像素 R、G 和 B 值并计算了亮度 Y。
我试图手动制作同步和消隐信号,但没有结果。
//load values
float[,] rValues = new float[picture1.Width, picture1.Height];
float[,] gValues = new float[picture1.Width, picture1.Height];
float[,] bValues = new float[picture1.Width, picture1.Height];
using (Bitmap bmp = new Bitmap(picture1))
{
for (int i=0;i<bmp.Width;i++)
{
for(int j=0;j<bmp.Height;j++)
{
Color clr = bmp.GetPixel(i, j);
rValues[i, j] = clr.R;
gValues[i, j] = clr.G;
bValues[i, j] = clr.B;
}
}
}
//changing the matrices into 1d arrays
----------
double[] r = new double[picture1.Height * picture1.Width];
double[] g = new double[picture1.Height * picture1.Width];
double[] b = new double[picture1.Height * picture1.Width];
int k = 0;
for (int i = 0; i < picture1.Height; i++)
{
for (int j = 0; j < picture1.Width; j++)
{
r[k] = rValues[j, i];
g[k] = gValues[j, i];
b[k] = bValues[j, i];
k++;
}
}
// calculating the luminance Y
double[] Y = new double[picture1.Height * picture1.Width];
for (int i=0; i < Y.Length; i++)
{
Y[i] = 0.3 * r[i] + 0.59 * g[i] + 0.11 * b[i];
}
// trying to make a manual signal
double[] sync = new double[135];
for (int i = 0; i < 135; i++)
{
if (i < 17)
{
sync[i] = 0;
}
if (i > 16 && i < 70)
{
sync[i] = -0.3;
}
if (i > 69)
{
sync[i] = 0;
}
}
解决方案
推荐阅读
- java - Gson 无法正确序列化带有等号的地图
- spacy - NER - 我应该在标记的实体中包含公共前缀吗
- r - Conditional Cumulative sum based on the status of an object
- python - 是否有从网站收集下载链接的脚本?
- r - 在 R 中使用 Rebus 包复制正则表达式
- javascript - 将特定文本(基于模式识别)转换为带有 Javascript 的链接
- c - C回调函数中的参数如何工作
- c - 零通常适合协议吗?
- javascript - setState 没有用 reactJS 定义
- python - 将python脚本中的变量解析为shell