@@ -15,15 +15,14 @@ height= 768;
1515bits = 8;
1616
1717%% ------------Global Value--------------
18- isRaw = 1;
19- notRaw = 0;
20- needB = 1;
21- needR = 0;
2218RC = 1;
2319GC = 2;
2420BC = 3;
2521
2622%% --------------------------------------
23+ orImg = imread('images/kodim19.png');
24+ figure();imshow(orgImg);title('org image');
25+
2726bayerData = readRaw(filePath, bits, width, height);
2827figure();
2928imshow(bayerData);
@@ -43,14 +42,14 @@ for ver = 5: height + 4
4342 imDst(ver, hor, 1) = bayerPadding(ver, hor);
4443 neighborhoodData = bayerPadding(ver-4: ver+4, hor-4: hor+4);
4544 Wn = DW_Wn(neighborhoodData, 12);
46- Kn = DW_Kn(neighborhoodData, 12, isRaw );
45+ Kn = DW_Kn(neighborhoodData, 12);
4746 imDst(ver, hor, 2) = bayerPadding(ver, hor) + sum(Wn .* Kn);
4847 % B channal
4948 elseif (0 == mod(ver, 2) && 0 == mod(hor, 2))
5049 imDst(ver, hor, 3) = bayerPadding(ver, hor);
5150 neighborhoodData = bayerPadding(ver-4: ver+4, hor-4: hor+4);
5251 Wn = DW_Wn(neighborhoodData, 12);
53- Kn = DW_Kn(neighborhoodData, 12, isRaw );
52+ Kn = DW_Kn(neighborhoodData, 12);
5453 imDst(ver, hor, 2) = bayerPadding(ver, hor) + sum(Wn .* Kn);
5554 % Gr
5655 elseif (1 == mod(ver, 2) && 0 == mod(hor, 2))
@@ -76,14 +75,14 @@ for ver = 5: height + 4
7675 neighborRaw = bayerPadding(ver-4: ver+4, hor-4: hor+4);
7776 Wn = DW_Wn(neighborRaw, 4);
7877 neighborhoodData = imDst(ver-4: ver+4, hor-4: hor+4, :);
79- Kn = DW_Kn(neighborhoodData, 4, notRaw, needB );
78+ Kn = DW_Kn(neighborhoodData, 4, BC );
8079 imDst(ver, hor, 3) = imDst(ver, hor, 2) - sum(Wn .* Kn);
8180 % B channal
8281 elseif (0 == mod(ver, 2) && 0 == mod(hor, 2))
8382 neighborRaw = bayerPadding(ver-4: ver+4, hor-4: hor+4);
8483 Wn = DW_Wn(neighborRaw, 4);
8584 neighborhoodData = imDst(ver-4: ver+4, hor-4: hor+4, :);
86- Kn = DW_Kn(neighborhoodData, 4, notRaw, needR );
85+ Kn = DW_Kn(neighborhoodData, 4, RC );
8786 imDst(ver, hor, 1) = imDst(ver, hor, 2) - sum(Wn .* Kn);
8887 else
8988 continue
@@ -109,8 +108,11 @@ for ver = 5: height + 4
109108 % G
110109 else
111110 Wrn = DW_Wn(neighborhoodData, 12, GC, RC);
112- wbn = DW_Wn(neighborhoodData, 12, GC, BC);
113- imDst(ver, hor, 2) = bayerPadding(ver, hor);
111+ Wbn = DW_Wn(neighborhoodData, 12, GC, BC);
112+ Krn = DW_Kn(neighborhoodData, 12, RC);
113+ Kbn = DW_Kn(neighborhoodData, 12, BC);
114+ imDst(ver, hor, 1) = imDst(ver, hor, 2) - sum(Wrn .* Krn);
115+ imDst(ver, hor, 3) = imDst(ver, hor, 2) - sum(Wbn .* Kbn);
114116 end
115117 end
116118end
@@ -119,31 +121,29 @@ imDst(:, 1: 4, :) = imDst(:, 5: 8, :);
119121imDst(:, width+5: width+8, :) = imDst(:, width+1: width+4, :);
120122imDst(1:4, : , :) = imDst(5: 8, :, :);
121123imDst(height+5: height+8, : , :) = imDst(height+1: height+4, :, :);
124+ %imshow(uint8(imDst));title('now')
122125
123126%% Adjust the estimated green values of red/blue samples
124127for ver = 5: height + 4
125128 for hor = 5: width +4
129+ neighborhoodData = imDst(ver-4: ver+4, hor-4: hor+4, :);
126130 % R channal
127131 if(1 == mod(ver, 2) && 1 == mod(hor, 2))
128- imDst(ver, hor, 1) = bayerPadding(ver, hor);
129- neighborhoodData = bayerPadding(ver-4: ver+4, hor-4: hor+4);
130- Wn = DW_Wn(neighborhoodData, 12);
131- Kn = DW_Kn(neighborhoodData, 12, isRaw);
132- imDst(ver, hor, 2) = bayerPadding(ver, hor) + sum(Wn .* Kn);
132+ Wrn = DW_Wn(neighborhoodData, 12, RC, GC);
133+ Krn = DW_Kn(neighborhoodData, 12, RC);
134+ imDst(ver, hor, 2) = imDst(ver, hor, 2) - sum(Wrn .* Krn);
133135 % B channal
134136 elseif (0 == mod(ver, 2) && 0 == mod(hor, 2))
135- imDst(ver, hor, 3) = bayerPadding(ver, hor);
136- neighborhoodData = bayerPadding(ver-4: ver+4, hor-4: hor+4);
137- Wn = DW_Wn(neighborhoodData, 12);
138- Kn = DW_Kn(neighborhoodData, 12, isRaw);
139- imDst(ver, hor, 2) = bayerPadding(ver, hor) + sum(Wn .* Kn);
137+ Wbn = DW_Wn(neighborhoodData, 12, BC, GC);
138+ Kbn = DW_Kn(neighborhoodData, 12, BC);
139+ imDst(ver, hor, 2) = imDst(ver, hor, 2) - sum(Wbn .* Kbn);
140140 % G
141141 else
142142 continue
143143 end
144144 end
145145end
146-
146+ figure();imshow(uint8(imDst));title();
147147
148148
149149
0 commit comments