一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 8059|回复: 202
收起左侧

Berkeley CS 61B Data Structures(in Java) Project1 加分+讨论帖

  [复制链接] |试试Instant~ |关注本帖
jaly50 发表于 2014-5-26 23:05:10 | 显示全部楼层 |阅读模式

[其他]CS 61B Data Structures(in Java) #1 - 2014-05-26@Berkeley

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本帖最后由 jaly50 于 2014-6-1 15:21 编辑

作业入口:http://www.cs.berkeley.edu/~jrs/61b/hw/pj1/

2014的project1和fall2006的project1内容有点不一样不过都是在讲runLengthEncoding的
比较推荐大家写2014fall的作业  因为06年的runLengthEncoding没有测试数据

14年和06fall的 我都交了part1的在这个贴..一个在一楼 ,一个在三楼


  每次作业完成奖励1学分(=50大米
This is an individual assignment; you may not share code with other
students.


课程不鼓励大家分享代码,所以我们加分的规则是晒运行成功且输出正确的图。如下:


(1) part1  PixImage.java 输出如下:
  1. Testing getWidth/getHeight on a 3x3 image.  Input image:
  2. -----------------------------
  3. |[0,0]=0|[1,0]=30|[2,0]=80|
  4. |[0,1]=10|[1,1]=120|[2,1]=250|
  5. |[0,2]=240|[1,2]=250|[2,2]=255|
  6. -----------------------------
  7. Good.
  8. Testing blurring on a 3x3 image.
  9. -----------------------------
  10. |[0,0]=40|[1,0]=81|[2,0]=120|
  11. |[0,1]=108|[1,1]=137|[2,1]=164|
  12. |[0,2]=155|[1,2]=187|[2,2]=218|
  13. -----------------------------
  14. Good.
  15. -----------------------------
  16. |[0,0]=91|[1,0]=108|[2,0]=125|
  17. |[0,1]=118|[1,1]=134|[2,1]=151|
  18. |[0,2]=146|[1,2]=161|[2,2]=176|
  19. -----------------------------
  20. Good.
  21. -----------------------------
  22. |[0,0]=91|[1,0]=108|[2,0]=125|
  23. |[0,1]=118|[1,1]=134|[2,1]=151|
  24. |[0,2]=146|[1,2]=161|[2,2]=176|
  25. -----------------------------
  26. -----------------------------
  27. |[0,0]=91|[1,0]=108|[2,0]=125|
  28. |[0,1]=118|[1,1]=134|[2,1]=151|
  29. |[0,2]=146|[1,2]=161|[2,2]=176|
  30. -----------------------------
  31. Good.
  32. Testing edge detection on a 3x3 image.
  33. -----------------------------
  34. |[0,0]=104|[1,0]=160|[2,0]=166|
  35. |[0,1]=189|[1,1]=193|[2,1]=178|
  36. |[0,2]=180|[1,2]=157|[2,2]=96|
  37. -----------------------------
  38. Good.
  39. Testing getWidth/getHeight on a 2x3 image.  Input image:
  40. -----------------------------
  41. |[0,0]=0|[1,0]=0|
  42. |[0,1]=100|[1,1]=0|
  43. |[0,2]=100|[1,2]=100|
  44. -----------------------------
  45. Good.
  46. Testing blurring on a 2x3 image.
  47. -----------------------------
  48. |[0,0]=25|[1,0]=25|
  49. |[0,1]=50|[1,1]=50|
  50. |[0,2]=75|[1,2]=75|
  51. -----------------------------
  52. Good.
  53. Testing edge detection on a 2x3 image.
  54. -----------------------------
  55. |[0,0]=122|[1,0]=74|
  56. |[0,1]=143|[1,1]=143|
  57. |[0,2]=74|[1,2]=122|
  58. -----------------------------
  59. Good.
复制代码

Sobel_woman_6

Sobel_woman_6


(2)上图是sobel.java 输入参数“woman.tiff 6“得到的结果(小伙伴们不妨也用这个参数传这张图 看会不会是一样的图案吧,这张图相当于测了blur和sobel两个class)


(3)part2 有iterator...看得有点晕,最近在学车,学完车就没有写程序状态。。。加上Project有点难,就无限期拖延!!!>.<
超级不好...所以我先把part1部分给交了...
打算先去看看后面的视频...做那些简单的lab和homework,以恢复编程状态!!
等以后小伙伴们也交了再讨论学习吧……!

相关链接:      

       【公开课讨论+加分总贴】:UC Berkeley CS 61B Data Structures(in Java)
       【课程网站】:http://www.cs.berkeley.edu/~jrs/61b/
       【视频网站】:【Youtube】【Youku

        【教材】:Head First Java 【中文版】【英文版
                      Data Structures and Algorithms in Java, 5th Edition. 【英文版

luoweiyueming 发表于 2015-6-10 02:39:42 | 显示全部楼层
2014 Part1 写完骗学分。。。真不容易,一写就各种错。。后面继续



补充内容 (2015-6-12 10:17):
Testing one-parameter RunLengthEncoding constuctor on a 3x3 image.  Input image:
0 0 0|1 1 1|2 2 2|
3 3 3|4 4 4|5 5 5|
6 6 6|7 7 7|8 8 8|
Testing getWidth/getHeight on a 3x3 encoding.
Good.
Testing...

补充内容 (2015-6-12 10:18):
Testing toPixImage() on a 3x3 encoding.
Good.
0 0 0|1 1 1|2 2 2|
3 3 3|4 4 4|5 5 5|
6 6 6|7 7 7|8 8 8|
Testing setPixel() on a 3x3 encoding.
Good.
Testing setPixel() on a 3x3 encoding.
Good.
Testin...

补充内容 (2015-6-12 10:19):
好吧。。。不会编辑。。就这样吧。。其实我写完了part3.。。。4参考别人的。。。

补充内容 (2015-6-12 10:19):
后面再看。。家里好热= =
Screen Shot 2015-06-09 at 2.08.01 PM.png
Screen Shot 2015-06-09 at 2.37.40 PM.png
回复 支持 2 反对 0

使用道具 举报

moow77 发表于 2015-8-9 13:42:09 | 显示全部楼层
樓上的朋友, 如果你用的是eclipse
可以參考一下下面圖示的
eclipse_setup.png
eclipse_setup2.png

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Gaaralw 发表于 2015-3-10 12:24:00 | 显示全部楼层
关于这个project,我最近刚刚开始做,遇到一些问题,想请教一下。 在在实现构造方法的时候,需要用二维数组储存图像的像素,而每个像素使用short存储的RGB对应三个值,比如{1,100,45}, 就像这样,我想知道,这个应该怎么实现,想了半天,没得到结果。
回复 支持 1 反对 0

使用道具 举报

melissami 发表于 2014-5-27 11:20:04 | 显示全部楼层
我做的和楼主做的完全是两个不同的project。。。
因为之前跟视频,都是跟的2006fall的,所以我参考的也是对应的网站http://www.cs.berkeley.edu/~jrs/61bf06/hw/pj1/,然后,就悲剧鸟
不过覆盖的知识点都一样,我就将错就错吧:(
回复 支持 反对

使用道具 举报

 楼主| jaly50 发表于 2014-5-27 17:44:55 | 显示全部楼层
melissami 发表于 2014-5-27 11:20
我做的和楼主做的完全是两个不同的project。。。
因为之前跟视频,都是跟的2006fall的,所以我参 ...

=.= 我看的也是06年的视频。。。却做的14年的作业=。=
难怪觉得衔接有点问题=。= 囧
回复 支持 反对

使用道具 举报

 楼主| jaly50 发表于 2014-5-31 14:43:58 | 显示全部楼层
本帖最后由 jaly50 于 2014-5-31 14:47 编辑

写了06fall的 project1  
题目比14spring的有趣多了
看到在Simulation下默认的输入中,shark 和 fish保持一种你增我长,你减我弱我的勃勃生机,始终不曾过度繁殖,也不会被灭绝
生态的平衡 就在我的程序下呈现
觉得好伟大

作业入口:http://www.cs.berkeley.edu/~jrs/61bf06/hw/pj1/
动态图中截下来的,以示参考:

(红的是shark,绿的是鱼)

Project1_06

Project1_06



回复 支持 反对

使用道具 举报

xiaolin_super 发表于 2014-6-13 00:27:40 | 显示全部楼层
楼主我没明白2014part1 对于边界点的energy怎么算?就是 readme 第二页的左下最后一段。那是怎么对称的就能让(-1,2)和(0,2)就相等了?。。。。一直卡在这。。。TAT
回复 支持 反对

使用道具 举报

 楼主| jaly50 发表于 2014-6-13 13:16:16 | 显示全部楼层
xiaolin_super 发表于 2014-6-13 00:27
楼主我没明白2014part1 对于边界点的energy怎么算?就是 readme 第二页的左下最后一段。那是怎么对称的就能 ...

grid的范围是(0~n-1,0~n-1),所以比如像(0,n-1)的左下方,也就是它的(-1,2),那已经出了边界外,就没有值了。所以就用(-1,2)旁边,在边界上的值来替代。就用(0,2),也就是该点正下方的值代替。
明白么?
回复 支持 反对

使用道具 举报

xiaolin_super 发表于 2014-6-14 06:30:46 | 显示全部楼层
jaly50 发表于 2014-6-13 13:16
grid的范围是(0~n-1,0~n-1),所以比如像(0,n-1)的左下方,也就是它的(-1,2),那已经出了边界外,就 ...

我明白木有值的话就挑临近的边界值代替。所以就是对于边界点求energy的话,还是假设它有9个邻居,出界的值用邻近的边界值代替,对吧?
但是我还是不明白对称是怎么回事。还有就是你说的(0,n-1)的左下不是它的(-1,1)么?假设是按你说的用它的(0,2)替代,也就是相当于整个图的(0,n+1)呗,这个出界了呀。。。
楼主能不能给我用对于整个grid的 边界点(0,n-2)和顶点(0,n-1)列下intensity实际上是取得哪些点呢。。。可能我就明白了。麻烦了!
回复 支持 反对

使用道具 举报

 楼主| jaly50 发表于 2014-6-14 10:47:48 | 显示全部楼层
对称的意思,我感觉:就是以边界为轴线,边界左右、或上下的两格,都是同一个值(取边界值)
回复 支持 反对

使用道具 举报

 楼主| jaly50 发表于 2014-6-14 10:52:03 | 显示全部楼层
xiaolin_super 发表于 2014-6-14 06:30
我明白木有值的话就挑临近的边界值代替。所以就是对于边界点求energy的话,还是假设它有9个邻居,出界的 ...

(0,n-2)取的值应该是:(-1,n-3)(使用(0,n-3)的值),(0,n-3),(1,n-3),(-1,n-2)(使用(0,n-2)的值),(1,n-2),(-1,n-1)(使用(0,n-1)的值),(0,n-1),(1,n-1)

邻居不是只有8个嘛。。题目做得有点久,有点忘了。自己是乘以零,我就不算了。
回复 支持 反对

使用道具 举报

xiaolin_super 发表于 2014-6-14 21:36:45 | 显示全部楼层
jaly50 发表于 2014-6-14 10:52
(0,n-2)取的值应该是:(-1,n-3)(使用(0,n-3)的值),(0,n-3),(1,n-3),(-1,n-2)(使用(0,n-2)的 ...

楼主你太耐心了~61b看完了没?我就因为这个给自己一个借口。。。原地踏步了好久=.=天天自责
回复 支持 反对

使用道具 举报

xiaolin_super 发表于 2014-6-22 11:57:33 | 显示全部楼层
**终于在de了无数bug之后把partI做出来了。。。。哎,过程太艰辛。。。先上个结果吧。TAT

netbeans不知道为什么输入命令后总是找不到图片java.lang.IllegalArgumentException: "flower.tiff": File not found.这个靠我自己真是搞不定了。。。都木有图能看到感觉成就感全部都消失了,好伤心。。。。。。。。
楼主你直接在terminal里执行么?图片你是存在哪里啊?
Screen Shot 2014-06-21 at 11.51.09 PM.png
Screen Shot 2014-06-21 at 11.51.23 PM.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

gloria_wwj 发表于 2014-6-25 22:28:58 | 显示全部楼层
做的06年的Project1,发现写完part 1代码就可以成功运行了,并且给出的代码不好测试part2-4写的对不对,不知道楼主做了part2-4没有?我part2-4写好了,但不知道对不对
sharkandfish.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

gougou9901 发表于 2014-7-5 21:32:39 | 显示全部楼层
终于把project1做完了!!part3和part4真是debug到死啊。。
用这个RLE压缩算法可以把164kb的tiff图片文件压缩到68kb,还是很牛逼的!
贴上图和作业~求学分T.T
  1. > run PixImage
  2. Testing getWidth/getHeight on a 3x3 image.  Input image:
  3. 0 30 80  0 30 80  0 30 80
  4. 10 120 250  10 120 250  10 120 250
  5. 240 250 255  240 250 255  240 250 255
  6. Good.
  7. Testing blurring on a 3x3 image.
  8. Good.
  9. Good.
  10. Good.
  11. Testing edge detection on a 3x3 image.
  12. Good.
  13. Testing getWidth/getHeight on a 2x3 image.  Input image:
  14. 0 0  0 0  0 0
  15. 100 0  100 0  100 0
  16. 100 100  100 100  100 100
  17. Good.
  18. Testing blurring on a 2x3 image.
  19. Good.
  20. Testing edge detection on a 2x3 image.
  21. Good.
  22. > run RunLengthEncoding
  23. Testing one-parameter RunLengthEncoding constuctor on a 3x3 image.  Input image:
  24. 0 1 2  0 1 2  0 1 2
  25. 3 4 5  3 4 5  3 4 5
  26. 6 7 8  6 7 8  6 7 8
  27. Testing getWidth/getHeight on a 3x3 encoding.
  28. Good.
  29. Testing toPixImage() on a 3x3 encoding.
  30. Good.
  31. Testing setPixel() on a 3x3 encoding.
  32. Good.
  33. Testing setPixel() on a 3x3 encoding.
  34. Good.
  35. Testing setPixel() on a 3x3 encoding.
  36. Good.
  37. Testing setPixel() on a 3x3 encoding.
  38. Good.
  39. Testing setPixel() on a 3x3 encoding.
  40. Good.
  41. Testing setPixel() on a 3x3 encoding.
  42. Good.
  43. Testing setPixel() on a 3x3 encoding.
  44. Good.
  45. Testing one-parameter RunLengthEncoding constuctor on another 3x3 image.  Input image:
  46. 2 2 3  2 2 3  2 2 3
  47. 3 4 4  3 4 4  3 4 4
  48. 5 5 6  5 5 6  5 5 6
  49. Testing getWidth/getHeight on a 3x3 encoding.
  50. Good.
  51. Testing toPixImage() on a 3x3 encoding.
  52. Good.
  53. Testing setPixel() on a 3x3 encoding.
  54. Good.
  55. Testing setPixel() on a 3x3 encoding.
  56. Good.
  57. Testing one-parameter RunLengthEncoding constuctor on a 5x2 image.  Input image:
  58. 0 1 2 3 4  0 1 2 3 4  0 1 2 3 4
  59. 5 6 7 8 9  5 6 7 8 9  5 6 7 8 9
  60. Testing getWidth/getHeight on a 5x2 encoding.
  61. Good.
  62. Testing toPixImage() on a 5x2 encoding.
  63. Good.
  64. Testing setPixel() on a 5x2 encoding.
  65. Good.
  66. Testing setPixel() on a 5x2 encoding.
  67. Good.
  68. Testing setPixel() on a 5x2 encoding.
  69. Good.
  70. Testing one-parameter RunLengthEncoding constuctor on a 3x2 image.  Input image:
  71. 0 1 2  0 1 2  0 1 2
  72. 3 4 5  3 4 5  3 4 5
  73. Testing getWidth/getHeight on a 3x2 encoding.
  74. Good.
  75. Testing toPixImage() on a 3x2 encoding.
  76. Good.
  77. Testing setPixel() on a 3x2 encoding.
  78. Good.
  79. Testing setPixel() on a 3x2 encoding.
  80. Good.
  81. Testing setPixel() on a 3x2 encoding.
  82. Good.
复制代码
pj1.gif

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

moonlightfly 发表于 2014-7-23 15:00:07 | 显示全部楼层
project1 完成
不知道怎么上图
part 1 的output:
Testing getWidth/getHeight on a 3x3 image.  Input image:
|0,0,0|30,30,30|80,80,80|
|10,10,10|120,120,120|250,250,250|
|240,240,240|250,250,250|255,255,255|
Good.
Testing blurring on a 3x3 image.
Good.
Good.
Good.
Testing edge detection on a 3x3 image.
Good.
Testing getWidth/getHeight on a 2x3 image.  Input image:
|0,0,0|0,0,0|
|100,100,100|0,0,0|
|100,100,100|100,100,100|
Good.
Testing blurring on a 2x3 image.
Good.
Testing edge detection on a 2x3 image.
Good.


Part 2 and 3 的output:
Testing one-parameter RunLengthEncoding constuctor on a 3x3 image.  Input image:
|0,0,0|1,1,1|2,2,2|
|3,3,3|4,4,4|5,5,5|
|6,6,6|7,7,7|8,8,8|
Testing getWidth/getHeight on a 3x3 encoding.
Good.
Testing toPixImage() on a 3x3 encoding.
Good.
Testing setPixel() on a 3x3 encoding.
1
Good.
Testing setPixel() on a 3x3 encoding.
1
Good.
0 1 2 Testing setPixel() on a 3x3 encoding.
1
Good.
0 0 0 Testing setPixel() on a 3x3 encoding.
1
Good.
Testing setPixel() on a 3x3 encoding.
1
Good.
Testing setPixel() on a 3x3 encoding.
2
Good.
Testing setPixel() on a 3x3 encoding.
1
Good.
Testing one-parameter RunLengthEncoding constuctor on another 3x3 image.  Input image:
|2,2,2|2,2,2|3,3,3|
|3,3,3|4,4,4|4,4,4|
|5,5,5|5,5,5|6,6,6|
****Consecutive runs have the same RGB intensities:
(2,2,2)x1
(2,2,2)x1

Thanks~

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

zxlcc 发表于 2014-8-26 22:40:45 | 显示全部楼层
xiaolin_super 发表于 2014-6-14 21:36
楼主你太耐心了~61b看完了没?我就因为这个给自己一个借口。。。原地踏步了好久=.=天天自责

你好,xiaolin_super。我现在也正在考虑part i 的边界处理问题。我看了instruction, 感觉做sobelDection的时候的边界时,只需要相当于边界朝上下左右扩展就行了,关于energy的问题,也不涉及到边界了啊。因为算边界energy的话,我们已经得到了边界的各个分量的梯度了。不知道我分析得对不对?求指点。
回复 支持 反对

使用道具 举报

zxlcc 发表于 2014-8-27 14:22:10 | 显示全部楼层
花了一上午写啊,调啊,把part I部分弄出来了。
project1 part i.jpg
回复 支持 反对

使用道具 举报

南方的狼 发表于 2014-8-27 15:58:52 | 显示全部楼层
查了好久右下角那个点的sobel还是不对...
郁闷
回复 支持 反对

使用道具 举报

meagainstww 发表于 2014-9-9 05:17:41 | 显示全部楼层
  1. Muruos-MacBook-Pro:project1 meagainstww$ java PixImage
  2. Testing getWidth/getHeight on a 3x3 image.  Input image:
  3. [[[0 0 0 ] [30 30 30 ] [80 80 80 ] ]
  4. [[10 10 10 ] [120 120 120 ] [250 250 250 ] ]
  5. [[240 240 240 ] [250 250 250 ] [255 255 255 ] ]]Good.
  6. Testing blurring on a 3x3 image.
  7. Good.
  8. Good.
  9. Good.
  10. Testing edge detection on a 3x3 image.
  11. Good.
  12. Testing getWidth/getHeight on a 2x3 image.  Input image:
  13. [[[0 0 0 ] [0 0 0 ] ]
  14. [[100 100 100 ] [0 0 0 ] ]
  15. [[100 100 100 ] [100 100 100 ] ]]Good.
  16. Testing blurring on a 2x3 image.
  17. Good.
  18. Testing edge detection on a 2x3 image.
  19. Good.



  20. Muruos-MacBook-Pro:project1 meagainstww$ java RunLengthEncoding
  21. Testing one-parameter RunLengthEncoding constuctor on a 3x3 image.  Input image:
  22. [[[0 0 0 ] [1 1 1 ] [2 2 2 ] ]
  23. [[3 3 3 ] [4 4 4 ] [5 5 5 ] ]
  24. [[6 6 6 ] [7 7 7 ] [8 8 8 ] ]]Testing getWidth/getHeight on a 3x3 encoding.
  25. Good.
  26. Testing toPixImage() on a 3x3 encoding.
  27. Good.
  28. Testing setPixel() on a 3x3 encoding.
  29. Good.
  30. Testing setPixel() on a 3x3 encoding.
  31. Good.
  32. Testing setPixel() on a 3x3 encoding.
  33. Good.
  34. Testing setPixel() on a 3x3 encoding.
  35. Good.
  36. Testing setPixel() on a 3x3 encoding.
  37. Good.
  38. Testing setPixel() on a 3x3 encoding.
  39. Good.
  40. Testing setPixel() on a 3x3 encoding.
  41. Good.
  42. Testing one-parameter RunLengthEncoding constuctor on another 3x3 image.  Input image:
  43. [[[2 2 2 ] [2 2 2 ] [3 3 3 ] ]
  44. [[3 3 3 ] [4 4 4 ] [4 4 4 ] ]
  45. [[5 5 5 ] [5 5 5 ] [6 6 6 ] ]]Testing getWidth/getHeight on a 3x3 encoding.
  46. Good.
  47. Testing toPixImage() on a 3x3 encoding.
  48. Good.
  49. Testing setPixel() on a 3x3 encoding.
  50. Good.
  51. Testing setPixel() on a 3x3 encoding.
  52. Good.
  53. Testing one-parameter RunLengthEncoding constuctor on a 5x2 image.  Input image:
  54. [[[0 0 0 ] [1 1 1 ] [2 2 2 ] [3 3 3 ] [4 4 4 ] ]
  55. [[5 5 5 ] [6 6 6 ] [7 7 7 ] [8 8 8 ] [9 9 9 ] ]]Testing getWidth/getHeight on a 5x2 encoding.
  56. Good.
  57. Testing toPixImage() on a 5x2 encoding.
  58. Good.
  59. Testing setPixel() on a 5x2 encoding.
  60. Good.
  61. Testing setPixel() on a 5x2 encoding.
  62. Good.
  63. Testing setPixel() on a 5x2 encoding.
  64. Good.
  65. Testing one-parameter RunLengthEncoding constuctor on a 3x2 image.  Input image:
  66. [[[0 0 0 ] [1 1 1 ] [2 2 2 ] ]
  67. [[3 3 3 ] [4 4 4 ] [5 5 5 ] ]]Testing getWidth/getHeight on a 3x2 encoding.
  68. Good.
  69. Testing toPixImage() on a 3x2 encoding.
  70. Good.
  71. Testing setPixel() on a 3x2 encoding.
  72. Good.
  73. Testing setPixel() on a 3x2 encoding.
  74. Good.
  75. Testing setPixel() on a 3x2 encoding.
  76. Good.
复制代码

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

voiding 发表于 2014-9-12 05:41:24 | 显示全部楼层
看起来很难的样子,还没有开始做,正在读那个pdf,发现题目都很难理解。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 23:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表